「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Javaで受け取った引数を返すメソッドをモックする方法は?

Javaで受け取った引数を返すメソッドをモックする方法は?

2024 年 11 月 16 日に公開
ブラウズ:942

How to Mock Methods to Return Arguments Received in Java?

受け取った引数を返すモック メソッド

オブジェクト指向プログラミングでは、Mockito などのモック フレームワークを使用して、シミュレートするモック オブジェクトを作成します。テスト目的での実際のオブジェクトの動作。テストにおける一般的なシナリオの 1 つは、モック化されたメソッドに渡されたものと同じ引数を返す必要があることです。

Mockito 式とラムダ式 (Mockito 1.9.5 および Java 8 )

Java 8 以降と組み合わせた Mockito 1.9.5 以降のバージョンの場合、ラムダ式を利用してこの動作を実現できます:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);

ここで、i は InvocationOnMock のインスタンスを表し、getArguments()[0] はモックされたメソッドに渡される最初の引数を取得します。

Mockito とカスタム アンサー (古いバージョン)

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 は渡された引数を取得して返し、モック化されたメソッドが受信した入力をエコーできるようにします。

リリースステートメント この記事は次の場所に転載されています: 1729677594 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3