私のモデルクラスにはbefore_save
というフィルタがあり、データの整合性を保証するために日付フィールドを将来の日付に設定します。Railsのテスト目的のbefore_saveフィルタのオーバーライド
これはユニットテストの場合を除いては本当にうまく動作します。この日付フィールドを過去の日付に設定するテストシナリオを設定したいと思います。 before_save
フィルタが呼び出され、日付が将来の日付に更新されるため、ActiveRecord
を使用してこれを行うことはできません。 ActiveRecord::Base::connection.update
を使用して生のSQLを実行するには、これを行う最善の方法はありますか?
を読むために私が書いているテストは、このモデルのために、しかしモデルを使用してバックグラウンドワーカークラスのためではありません。現地時間がモデル上のこの日付よりも大きい場合(このアプリでは7日後に発生します)、バックグラウンドワーカーはモデルでジョブを実行します。私はバックグラウンドワーカーをテストしているので、モデル日付が過ぎたシナリオを作成する必要があります。 – Olly