Rspec должен. Не работает без Spork

Мы используем Spork с Rspec, и если мы запустим Spork, наши тесты пройдут, но если мы не запустим spork и не запустим тест с:

bundle exec rspec spec

Происходит несколько сбоев, и все они используют синтаксис must.have, например:

inactive_user.received_messages.should have(1).message

1) Message introduction messages to active users should be created as messages to both users
 Failure/Error: initiator.sent_messages.should have(1).message
   expected 1 message, got 6

Что интересно в этом количестве, так это то, что именно столько сообщений содержится в базе данных, поэтому:

initiator.sent_messages.should have(1) == Message.count

Без Spork, если я изменю тест следующим образом:

inactive_user.received_messages.count.should == 1

все отлично работает Таким образом, похоже, что метод сопоставления ищет неправильный счет. Есть идеи, почему это будет?

1 ответ

У меня та же проблема. Я использую камень должен для проверки отношений. У меня есть класс Instance, который имеет много WeeklyStatistics, и я запускаю первый раз:

should have_many(:weekly_statistics)

со спорком тест был красным, что указывало на то, что я должен установить foreigh key instance_id для еженедельной статистики, но после того, как я это сделал, тест все еще не удался с той же ошибкой - отсутствующей ассоциацией. Затем я остановил спорк и тест был зеленым.

Другие вопросы по тегам