Playに基づいたアプリで!フレームワーク (2.0、Java) コントローラーをテストするときに、サード パーティの API をモックしたいと考えています。これには Mockito を選びました。Play に組み込みのモック機能が見つからなかったからです。
私はこのようなものを持っています:
@Test
public void someTest() {
ThirdParty thirdParty = mock(ThirdParty.class);
when(thirdParty.someUnwantedMethod()).thenReturn("foo");
running(fakeApplication(), new Runnable() {
public void run() {
Result result = callAction(controllers.routes.ref.MyController.doImportantStuff());
verify(thirdParty.someUnwantedMethod()); // Verify that method in mock/API is called
assertThat(contentAsString(result)).contains("foo");
}
});
}
(コントローラーは、テスト時に代わりにモックを使用する必要があるThirdPartyクラスのインスタンスで「someUnwantedMethod()」を呼び出します)
コントローラーにモックを取得させるにはどうすればよいですか?