假设我有两个测试文件。 File_A_spec.rb和File_B_spec.rb。当File_A中的测试在File_B中的测试之前运行时,一切都会通过。但是当File_B中的测试在File_A之前运行,然后在File_A中进行测试失败。
这两个文件都是请求规范。 File_A和File_B中的测试不相关,应该没有依赖项。可能导致这种情况的原因是什么?
答案 0 :(得分:1)
固定。失败的测试返回的错误是“未定义的方法'锁定'。”
其中一个模型中有一个名为'locked'的范围,我猜ActiveRecord不喜欢这个。与此处发生的情况类似:https://github.com/rails/rails/issues/7421
范围已重命名,现在一切都过去了。
答案 1 :(得分:0)
您很可能拥有静态变量或before :all
子句。
请注意,before :all
操作无法清除。您需要在after :all