オブジェクト指向プログラミングでは、Mockito などのモック フレームワークを使用して、シミュレートするモック オブジェクトを作成します。テスト目的での実際のオブジェクトの動作。テストにおける一般的なシナリオの 1 つは、モック化されたメソッドに渡されたものと同じ引数を返す必要があることです。
Java 8 以降と組み合わせた Mockito 1.9.5 以降のバージョンの場合、ラムダ式を利用してこの動作を実現できます:
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);
ここで、i は InvocationOnMock のインスタンスを表し、getArguments()[0] はモックされたメソッドに渡される最初の引数を取得します。
Mockito の古いバージョンでは、カスタム Mockito Answer 実装を使用できます:
MyInterface mock = mock(MyInterface.class);
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
@Override
public String answer(InvocationOnMock invocation) throws Throwable {
Object[] args = invocation.getArguments();
return (String) args[0];
}
});
このカスタム Answer は渡された引数を取得して返し、モック化されたメソッドが受信した入力をエコーできるようにします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3