Я могу найти рекомендации для тестирования пользовательских контроллеров и представлений в RSpec. Я также видел предположения о том, что код разработанного драгоценного камня уже протестирован, поэтому бесполезно тратить много времени на изобретение колеса.
Однако в моей модели пользователя есть другие поля, которые мне нужно проверить, когда пользователь регистрируется. Я использую стандартные операторы validates...
в модели user.rb. Например:
validates_presence_of :nickname
Я пытаюсь использовать простое проверочное тестирование в моем user_spec.rb, но когда я пытаюсь создать пользователя следующим образом:
record = Factory.create(:user)
Я получаю эту ошибку:
undefined method `encode!' for "Confirmation":String
Метод encode!
не приходит из моего кода, это, должно быть, один из драгоценных камней, который использует устройство, но я пока не смог его найти.
Я пытался создать пользователя, используя User.new и Factory Girl. Я получаю ту же ошибку в любом случае. Эта спецификация проходила, пока я не сделал обновление всех своих драгоценных камней. К сожалению, я не держал в курсе все, что было обновлено в то время. Я попытался откатить устройство до предыдущих версий, но все равно получаю ту же ошибку.
Рельсы 3, RSpec2
Спасибо за любой совет.