私はScalaを初めて使い、ScalaのPlayアプリケーションのテストを書いています。 PlayアプリはすでにJavaで書かれています。Mockito Scalaオーバーロードされたメソッドの値次に代替メソッドを返す
は、私はスカラ座に基づいて私のテストを書かれているアクションはPOJOの
として別のパッケージで定義されてい
public RefreshResponse process(RefreshRequest request) throws Exception {
return this.oauthService.token(request.oauthUrl, request.clientId, request.clientSecret, request.refreshToken)
.thenCompose(oauthToken -> this.processHelper(request.withOAuthToken(oauthToken)))
.get();
}
つのパブリックメソッドプロセスガイドを持っているRefreshServiceを持って
このサービスを模擬しようと私は次のコードを使用した:
var mockRefreshService = mock[RefreshService]
when(mockRefreshService.process(_: RefreshRequest))
thenReturn (new RefreshResponse)
Scalaから次のコンパイラエラーが発生し、型があいまいになる可能性があります。
[エラー] /home/joey/Projects/sntdb/test/controllers/ApiControllerSpec.scala:31:メソッドのオーバーロード選択肢:
[エラー]($ 1×:actions.RefreshRequest => actions.RefreshResponse、$×2:actions.RefreshRequest => actions.RefreshResponse *)org.mockito.stubbing.OngoingStubbing [actions.RefreshRequest =>アクション。 RefreshResponse]
[エラー](xは$ 1:actions.RefreshRequest => actions.RefreshResponse)org.mockito.stubbing.OngoingStubbing [actions.RefreshRequest => actions.RefreshResponse]
[エラー](actions.RefreshResponse)に適用することはできません
[エラー](mockRefreshService.process(_:リフレッシュ要求))thenReturn(新しいRefreshResponse)
もう情報を聞かせてください必要な場合私は知っている。そうでなければ、誰かが何らかのアイディアを持っていれば、それは評価されるだろ
ありがとうございます!