使用spork时不同的rspec结果

时间:2011-10-30 16:02:22

标签: rspec-rails spork

我最近将Spork添加到我的开发堆栈中,我只是喜欢提高速度,但是有一些测试在有或没有spork的情况下表现不同。

有问题的测试非常简单,它测试一类对象可以占用另外两个对象并在它们之间创建连接。

it 'should associate object1 with object2' do 
  @object_under_test.action_being_tested(object1, object2)   #action
  object1.associated_objects.should be_include(object2)      #assertion
end

如果我使用 spork运行此测试,那么此测试正常。但是没有 spork断言失败。在做出断言之前,我可以通过重新加载object1来使它通过或不通过spork。

it 'should associate object1 with object2' do 
  @object_under_test.action_being_tested(object1, object2)   #action
  object1.reload
  object1.associated_objects.should be_include(object2)      #assertion
end

从需要在这些测试中添加reload的预期行为来看,这并不是一个问题,因为object1在调用其associated_objects之前会被重新加载。
我觉得奇怪的是,运行测试的两种方式有不同的结果。我觉得我缺少一些关于spork如何工作的核心知识!喜欢,spork会自动重新加载物体吗? 如果有人能为我阐明这一点,我会非常感激。

0 个答案:

没有答案