1

コントローラーの単体テストを作成しました。

メソッドを追加してドメインクラスのメタクラスを変更するブートストラップファイルがありますasPublicMap()コントローラでこのメソッドを使用して、ドメインクラスをjsonとして返しますが、一部の選択されたパブリックフィールドのみを返します。

MissingMethodExceptionのためにユニットテストが失敗しましたasPublicMap()。私が理解したように、ブートストラップクラスは単体テストではロードされず、統合テストでのみロードされます。そのため、このエラーが発生しました。

私の質問は:ユニットテスト中にメタクラス操作を考慮に入れるためにメタクラス操作を配置する別の場所はありますか?

4

1 に答える 1

3

単体テストを統合テストに移動するだけで簡単に解決できます。統合テスト用に Bootstrap クラスが読み込まれるので、問題なく動作するようになりました。

その移行に関する私の懸念は@Mockアノテーションに関するものでしたが、驚くべきことに統合テストでも機能します。データベースは、モック ドメイン クラスには使用されません。

于 2012-10-11T09:34:20.440 に答える