在我的rspec测试套件中,我使用mocha库来创建模拟/存根并测试双打。我的rspec套件中的示例按随机顺序运行,如建议的那样。出于某种原因,一些例子现在随机失败。我已经排除了共享数据库状态和全局变量(我承认:我的Rails应用程序中有全局变量)。
另一个逻辑嫌疑人(可能)是模拟库。根据rspec文档here,rspec将在每个示例之后清除所有模拟,甚至是在之前创建的模拟(:all)。这适用于任何模拟库,对吧?也许...
由于历史原因,我的测试套件不使用内置的rspec模拟,我们使用mocha库。
问题:在每个示例之后,rspec会清除由mocha创建的所有模拟/存根吗?
答案 0 :(得分:0)
一个可能的失败点并不是告诉Rspec您想使用mocha进行模拟:
# Where you do your Rspec config stuff
RSpec.configure do |config|
config.mock_framework = :mocha
end
AFAIK,为了清理你提到的事情,你需要这样做。