如何在使用VCR / WebMock时允许Web请求?

时间:2011-07-29 15:48:29

标签: ruby cucumber integration-testing vcr

我目前正在使用RSpec2,Cucumber和VCR(通过WebMock),一切都运行良好。

通常使用录像机录制所有请求,然后根据录制的录像带重播。

现在我想在某些情况下允许真正的网络请求:

  • 在Cucumber中,我设置了一个“实时”配置文件,该配置文件运行任何标有@live的测试。对于这些测试 - 仅限这些测试 - 我想允许真正的Web请求。
  • 我想不时地对真实的api进行测试并忽略录音

1 个答案:

答案 0 :(得分:12)

你可以用黄瓜的BeforeAfter钩子做到这一点。只需使用以下内容禁用VCR:

Before('@live') do
  VCR.eject_cassette
  VCR.turn_off!
end

这可能取决于您如何将VCR与黄瓜测试结合起来。