このJavaコードに相当するKotlinは何でしょうか?KotlinでMockito doAnswerを使用
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Design design = new Design();
GetDesign.Listener callback = (GetDesign.Listener) invocation.getArguments()[0];
callback.onSuccess(design);
return null;
}
}).when(someRepository).getDesign(any(GetDesign.Listener.class));
[UPDATE]は、いくつかのオプションを試した後、私は最終的にそれがmockito-kotlinを使用して働かせました。私はそれがdoAnswer
を実装する最も快適な方法だと思います。構文はほぼ同じまま:私はこれらのKotlin Mockitoバインディングを検討してお勧め::https://github.com/
doAnswer {
callback = it.arguments[0] as AsyncCall.Listener
callback.onSuccess("Hello!")
null
}.`when`(someRepository).execute(any())
完全なコードとbuild.gradleの構成はthis repository
注記に記載されていますnhaarman/mockito-kotlinそれらはあなたにクールなものをたくさん与えます(例えば、\ 'の代わりに' \ 'の代わりに' 'いつでも' ')。 –
私はそれを見ていましたが、それはKotlin 1.1.1で動作しますか? – voghDev
私はSAM変換を行う必要があると思います。ここをクリックしてください:https://kotlinlang.org/docs/reference/java-interop.html#sam-conversions – marstran