Railsでのテストに取り掛かろうとしています。
私のモデルの1つにありますafter_validation :grab_external_stuff
。grab_external_stuff
外部APIを呼び出すメソッドです。テストではこれを実行したくありません。
after_validation
テストでこのメソッドを無効にする正しい方法は何ですか?(rspecを使用して)どうすればよいですか?そして、私はそれをどこで行いますか?
スタブを使用して、呼び出されるメソッドを停止できることを知っています。しかし、after_validationまたは同様のフックにそれを適用する方法を見つけるのに苦労しています。
たとえば、プロジェクトに属し、ユーザーに属するタスクがあるとします。私はfactory(:task)を実行します。これは、関連するプロジェクトとユーザーも作成しています。ただし、ユーザーが検証されると、grab_external_stuffが呼び出されます。
では、テストのどこで、このメソッドを実行したくないことを指定する必要がありますか?テストでは、工場では、どこか他の場所で?
アドバイスありがとうございます。