Mocha on Rails 4.2を使用する。 正しいパラメータで別のメソッドを呼び出すメソッドをテストしています。これらのパラメータは、データベースから呼び出すActiveRecordオブジェクトです。ここで重要なラインは、私のテストである:特定のActiveRecordパラメータでメソッドを実行するにはどうすればよいですか?
UserMailer.expects(:prompt_champion).with(users(:emma), [[language, 31.days.ago]]).once
users(:emma)
とlanguage
の両方がActiveRecordのオブジェクトです。
正しい呼び出しが行われても、パラメータが期待値と一致しないため、テストは失敗します。これは、レコードがデータベースから引き上げられるたびに異なるRubyオブジェクトだからだと思います。
私は、レコードをプルアップしてモックを返すためにそのメソッドをスタブするために、どのメソッドが私のコードで使用されているのかを見ていると思いますが、レコードの全体が検索してから適切なものに絞り込み、それらのレコードをすべて嘲笑すると、テスト方法が複雑になります。
これを行うには良い方法がありますか?