Я недавно добавил 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
перед тем, как сделать утверждение.
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 автоматически перезагружает объекты?
Если кто-нибудь может пролить свет на это для меня, я был бы очень благодарен.