我必须扩展一项涉及一些新方案的黄瓜功能,以涵盖一些新的行为。目前,整个Cucumber/vcr都可以设置为以下情况,以寻找具有匹配方案名称的盒式录音机:
feature bar
@vcr
scenario foo
将在./cassettes/bar/foo.yml
中寻找录制的录音带。但是,还有其他场景可以回收录制的盒式磁带。(也是从我这边添加的)。因此,每个情况都有一个带有相同盒式盒式盒子的文件夹,但仅重命名:
feature bar
@vcr
scenario foo
@vcr
scenario foo1
...
@vcr
scenario fooX
./cassettes/bar/foo.yml
, ./cassettes/bar/foo1.yml
... ./cassettes/bar/fooX.yml
具有完全相同的内容。什么是干燥的正确方法?
是否有可能明确指定要明确使用的VCR盒?
@vcr(:cassette => foo)
scenario fooX
非常感谢;)
我通过定义VCR的新标签来解决此问题:
#./test_helper/vcr.rb
VCR.cucumber_tags do |t|
t.tag '@vcr', use_scenario_name: true
t.tag '@foo'
end
,然后我在钩子前后添加了一个,它加载了我想要的盒式磁带:
# ./features/support/env.rb
Before('@foo') do
VCR.insert_cassette('cassettes/bar/foo')
end
After('@foo') do
VCR.eject_cassette
end
因此,现在我只需要注释我的新定义标签,以了解类似的情况:
feature bar
@foo
scenario foo
@foo
scenario foo1
...
@foo
scenario fooX
所以现在我只剩下一个录制的盒式文件。