按特定顺序运行时,Rspec测试失败

时间:2013-04-12 13:45:46

标签: ruby-on-rails rspec capybara

假设我有两个测试文件。 File_A_spec.rb和File_B_spec.rb。当File_A中的测试在File_B中的测试之前运行时,一切都会通过。但是当File_B中的测试在File_A之前运行,然后在File_A中进行测试失败。

这两个文件都是请求规范。 File_A和File_B中的测试不相关,应该没有依赖项。可能导致这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

固定。失败的测试返回的错误是“未定义的方法'锁定'。”

其中一个模型中有一个名为'locked'的范围,我猜ActiveRecord不喜欢这个。与此处发生的情况类似:https://github.com/rails/rails/issues/7421

范围已重命名,现在一切都过去了。

答案 1 :(得分:0)

您很可能拥有静态变量或before :all子句。

请注意,before :all操作无法清除。您需要在after :all

中清理它们