0

before_validation新しい宣言のステータスを「オープン」に設定するコールバックを持つモデル「宣言」があります。これは問題なく動作しますが、私の仕様では、いくつかの状態をすばやくテストしたいと考えています。したがって、次のような宣言を作成します。

let!(:declaration) { create(:declaration, status: "approved", user: employee) }

残念ながら、before_validationはステータスを毎回「open」に設定します。私のテストでこれに対処する最善の方法は何ですか?

もちろん、宣言が正しい状態になるようにフロー全体を実行することもできますが (これは機能仕様です)、これは遅いため多くの時間がかかります。テストのこの部分の目的は、一連のさまざまな状態をすばやく確認することです。助言がありますか?

4

2 に答える 2

0

ジョン、私は factoryGirl の skip_callback メソッドを使用して、ビルド後、作成の直前に検証をスキップしました。これが私を助けたスタックオーバーフローです:Factory GirlとRspecのコールバックをスキップする

于 2013-10-08T18:54:17.033 に答える