Cucumber/Capybara-不支持在每个测试生命周期之外使用来自rspec模拟的双倍或部分双倍

Cucumber/Capybara-不支持在每个测试生命周期之外使用来自rspec模拟的双倍或部分双倍,cucumber,capybara,stub,Cucumber,Capybara,Stub,我知道我们通常不想在验收/特性测试中存根一个方法,但这是我绝对需要存根的东西,用于所有验收/特性测试 当我将存根调用放入env.rb中之前的块或后台步骤时,我得到以下错误 The use of doubles or partial doubles from rspec-mocks outside of the per-test lifecycle is not supported. (RSpec::Mocks::OutsideOfExampleError) 我应该将存根调用放在哪里,以便它在所

我知道我们通常不想在验收/特性测试中存根一个方法,但这是我绝对需要存根的东西,用于所有验收/特性测试

当我将存根调用放入env.rb中
之前的
块或
后台
步骤时,我得到以下错误

The use of doubles or partial doubles from rspec-mocks outside of the per-test lifecycle is not supported. (RSpec::Mocks::OutsideOfExampleError)

我应该将存根调用放在哪里,以便它在所有情况下都能工作

我想这可能有用:

  RSpec::Mocks.with_temporary_scope do
    allow_any_instance_of ....
  end
此处记录:

但实际上并不像我预期的那样有效-更好的解决方案是:

require 'cucumber/rspec/doubles'
谢谢桑杰@桑杰桑吉

此处记录:


这方面的文档似乎已经过时了?这对我不起作用:(但是添加with_temporary_scope位成功了!!!谢谢!