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



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

对于VCR,通常所有的请求都被记录下来,然后在录制的磁带上重播。

现在我想在某些情况下允许真实的web请求:

  • 在Cucumber中,我已经设置了一个"live"配置文件,它运行任何标记为@live的测试。对于这些测试,我希望允许真正的web请求。
  • 我希望不时地针对实际api运行测试,并忽略记录

你可以用黄瓜的BeforeAfter钩子做到这一点。使用以下命令禁用VCR:

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

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

最新更新