在类似的情况下,回收了录制的VCR录像带,或告诉VCR在情况下使用特定的盒式磁带



我必须扩展一项涉及一些新方案的黄瓜功能,以涵盖一些新的行为。目前,整个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

所以现在我只剩下一个录制的盒式文件。

相关内容

最新更新