У меня странная ситуация, когда при запуске отдельного спецификационного файла модели rspec все примеры отображаются зелёным, если я тестирую всю папку spec / models, все мои примеры зелёного цвета. Если я тестирую контроллеры, они все проходят зеленый Если я тестирую весь набор (через спецификацию rspec), то я получаю сбои - Если я удаляю тесты контроллера полностью, все становится зеленым. Теперь я ожидаю, что это полностью самообман, но я просто не могу понять это.
Я сузил его до конкретных примеров в тестах контроллера - что приводит к сбою примеров в спецификациях моделей.
например. в notes_controller_spec.rb, если эта строка присутствует
Note.any_instance.stubs(:valid?).returns(false)
это вызывает сбой в моих моделях / account_spec.rb
Failure/Error: @account.all_notes.should have(2).notes
ArgumentError:
comparison of Note with Note failed
./app/models/account.rb:293:in `sort'
где строка 293;
(self.notes + self.transactions.map(&:notes).flatten).sort {|a,b| a.created_at <=> b.created_at }
Я почти уверен, что это будет один из тех моментов на лице, так что будь осторожен со мной!