在我的 rspec 测试套件中,我使用 mocha 库来创建模拟/存根和测试替身。按照建议,我的 rspec 套件中的示例以随机顺序运行。由于某种原因,一些示例现在随机失败。我已经排除了共享数据库状态和全局变量(我承认:我的 Rails 应用程序中有全局变量)。
另一个合乎逻辑的嫌疑人(也许)是模拟库。根据此处的 rspec 文档, rspec 将在每个示例之后清除所有模拟,即使是在 before(:all) 中创建的模拟。这应该适用于任何模拟库,对吧?也许...
由于历史原因,我的测试套件不使用内置的 rspec 模拟,我们使用 mocha 库。
问题: rspec 会在每个示例之后清除 mocha 创建的所有模拟/存根吗?