This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center




9年前关闭。




我目前正在使用 RSpec2、Cucumber 和 VCR(通过 WebMock),并且一切正常。

使用 VCR,通常所有的请求都会被记录下来,然后针对所录制的磁带重放。

现在我想在某些情况下允许真正的网络请求:
  • 在 Cucumber 中,我设置了一个“实时”配置文件,它运行任何标记为 @live 的测试。对于这些测试——并且仅是这些测试——我想允许真实的网络请求。
  • 我想不时地针对真实的 api 运行测试并忽略录音
  • 最佳答案

    你可以用 Cucumber 的 BeforeAfter 钩子(Hook)来做到这一点。只需使用以下内容禁用 VCR:

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

    不过,这可能取决于您如何将 VCR 与 cucumber 测试相结合。

    关于ruby - 使用 VCR/WebMock 时如何允许 Web 请求?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6875701/

    10-15 09:50