Ruby on Rails: RSpec и Acts As Audited (отключение activ_as_audited во время тестирования?) - PullRequest
2 голосов
/ 13 января 2010

Я получаю сообщение об ошибке, которое, я думаю, может быть исправлено отключение act_as_audited при выполнении тестов или, по крайней мере, заглушки current_user в подсистеме аудита. Ошибка ниже. Что ты думаешь я должен делать?

NoMethodError in 'Order should create a new instance given valid attributes'
You have a nil object when you didn't expect it!
The error occurred while evaluating nil.current_user
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:73:in `send'
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:73:in `current_user'
/home/ramon/rails/app/vendor/plugins/acts_as_audited/lib/acts_as_audited/audit_sweeper.rb:61:in `after_create'
./spec/models/order_spec.rb:13:

В spec / models / order_spec.rb я попытался создать заглушку AuditSweeper.current_user, template.current_user и controller.current_user, чтобы вернуть ложную модель пользователя. Нет работы.

Любая помощь приветствуется. Спасибо!

1 Ответ

3 голосов
/ 13 января 2010

похоже, что один из объектов, для которого вызывается current_user, равен nil. таким образом, текущий пользователь не будет работать. вам нужно отследить нулевой объект и убедиться, что он инициализирован.

...