Grails の単体テストで Groovy Domain-Classes の initBefore メソッドをテストするにはどうすればよいですか?
ダミー オブジェクトを作成しましたが、テスト環境で myObject.save() が呼び出され、save が使用できないまで beforeInsert メソッドは呼び出されません。
編集:単体テストです。エラーはありませんが、メソッド beforeInsert は呼び出されません
Grails の単体テストで Groovy Domain-Classes の initBefore メソッドをテストするにはどうすればよいですか?
ダミー オブジェクトを作成しましたが、テスト環境で myObject.save() が呼び出され、save が使用できないまで beforeInsert メソッドは呼び出されません。
編集:単体テストです。エラーはありませんが、メソッド beforeInsert は呼び出されません
beforeInsert は単体テスト中に呼び出されます。テストでこれを確認できます。考慮すべき点がいくつかあります。
ドメイン オブジェクトを作成して save() するだけです。次に、「beforeInsert」がオブジェクトを操作したかどうかを確認します。
save() は、テスト環境で使用できます。myDomainobject.save() を呼び出すときにスタックトレースを表示してください
beforeInsert メソッドが呼び出されているかどうか、または beforeInsert のロジックが正しいかどうかをテストしますか?
beforeInsert が呼び出されているかどうかをテストするには、テスト クラスで GrailsUnitTestCase を拡張する必要があります。そうすることで、モック機能が提供され、save() や validate() などのすべてのメソッドが追加されます。save() を実行すると、モックされたオブジェクトが beforeInsert メソッドを呼び出したかどうかを確認できます。
beforeInsert のロジックをテストしている場合は、モックする必要はありません。他の単体テストと同じように、オブジェクトを作成してロジックをテストできます。
お役に立てれば。