2

エラーが発生しています。これは、テストの実行時にacts_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をスタブ化して、モックユーザーモデルを返すようにしました。動作しません。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

3

current_userが呼び出されているオブジェクトの1つがnilであるように見えます。したがって、現在のユーザーのスタブは機能しません。nilオブジェクトを追跡し、初期化されていることを確認する必要があります。

于 2010-01-13T19:50:25.537 に答える