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 для еженедельной статистики, но после того, как я это сделал, тест все еще не удался с той же ошибкой - отсутствующей ассоциацией. Затем я остановил спорк и тест был зеленым.