Mockito でモックされたメソッドに引数を返すにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-23 22:13:02
オリジナル
680 人が閲覧しました

How to Return an Argument to a Mocked Method in Mockito?

Mockito を使用してモックされたメソッドに渡された引数を返す方法

Mockito は、テスト目的でモック オブジェクトを作成できる Java モック フレームワークです。モック メソッドは、依存関係に関係なくコードをテストするのに役立ちます。このシナリオでは、メソッド呼び出し中に渡された値を返すメソッドをモックしたいと考えています。

解決策:

Mockito バージョン 1.9.5 以降Java 8 では、ラムダ式を利用して目的の機能を実現できます。

<code class="java">when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</code>
ログイン後にコピー

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

古いバージョンの代替ソリューション:

Mockito の古いバージョンの場合、同じ結果を達成するために Answer を実装できます。以下に例を示します。

<code class="java">when(mock.myFunction(anyString())).thenAnswer(new Answer<String>() {
    @Override
    public String answer(InvocationOnMock invocation) throws Throwable {
        Object[] args = invocation.getArguments();
        return (String) args[0];
    }
});</code>
ログイン後にコピー

この Answer 実装では、引数の配列が InvocationOnMock インスタンスから取得され、最初の引数 (文字列) が返されます。

これらのメソッドを使用すると、次のことができます。渡された引数に基づいて値を返すように Mockito でモックされたメソッドを構成し、より柔軟で現実的なテスト シナリオを可能にします。

以上がMockito でモックされたメソッドに引数を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!