2

Play フレームワーク (2.1.1 バージョン) を使用する Web アプリケーションを作成中です。

私は最初の非常に単純なコントローラーを作成し、それを単体テストしたいと考えました。

問題は、Play コントローラーはすべて静的であるため、依存関係をモックアウトする正しい方法は何か疑問に思っていることですMyService

private static MyService myService = new MyServiceImpl();

この種の初期化をアプリケーションで使用して、コントローラーの依存関係を提供しています。

ここで、依存関係をモックアウトしたい場合は、myServiceフィールドを のモックアウト実装に設定する静的メソッドを作成できますMyService

これは Java で書かれた play フレームワーク アプリケーションで行われる方法ですか? あるいは、Play フレームワークでこの種のことを行うための、より「慣用的な」方法があるかもしれません。

4

1 に答える 1

1

そのようなことを達成する方法は、http://www.playframework.com/documentation/2.1.1/JavaInjectionに記載されています。

https://github.com/guillaumebort/play20-spring-demoには、Play Spring プロジェクトのデモがあります

play.Play.isTest()テストモードかどうかを確認できます。http://www.playframework.com/documentation/api/2.1.1/java/play/Play.htmlで文書化されています。

于 2013-04-21T07:39:46.497 に答える