我必须用一些新的场景扩展一个现有的黄瓜特性,包括一些新的行为。目前,整个黄瓜/vcr thingy的设置是这样的,它将查找具有匹配场景名称的磁带:
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非常感谢;)
发布于 2014-01-30 12:57:58
我通过为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所以现在我只剩下一个录音带文件了。
https://stackoverflow.com/questions/21443900
复制相似问题