我有一个看起来像这样的规范:
foo.members << bar
# test some aspect of bar which assumes its membership in foo
:focus
,这样它仍然是唯一一个运行的,就像在第一个子弹中一样点上面)它失败了。这解决了它:
foo.members << bar
bar.reload # <-- the fix
# test some aspect of bar which assumes its membership in foo
因此,出于某种原因,在第一种情况下,bar的成员资格在内存中正确更新,而在第二种情况下则不是。为什么呢?
答案 0 :(得分:1)
您可能希望隔离套件中的其他规格(可能有多个)干扰相关测试。我建议您一次性启动该文件和另一个文件的规范,继续这样做,直到找到使该规范失败的测试文件(这可以手动完成或通过shell脚本完成)。一旦你把另一个干扰这个的规范隔离开来,请告诉我们,然后我们可以从那里开始。
作为一般规则,并且您可能已经意识到,测试应该彼此独立,并且不应该相互干扰。例如,确保没有规范存在方法或留下在数据库中创建的东西。