ホームページ >Java >&#&チュートリアル >PowerMockを使用してMockitoのプライベートメソッドをモックする方法?

PowerMockを使用してMockitoのプライベートメソッドをモックする方法?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-03 16:00:30282ブラウズ

How to Mock Private Methods in Mockito with PowerMock?

PowerMock を使用して Mockito でプライベート メソッドをモックする

プライベート メソッドを使用してクラスをテストすることは、特にプライベート メソッドの正確性が保証されていない場合に課題となる可能性があります。想定される。これに対する 1 つの解決策は、PowerMock を Mockito と組み合わせて使用​​することです。

PowerMock を使用してプライベート メソッドをモックするには、次の手順に従います:

  1. スパイ オブジェクトを作成します: PowerMockito.spy() を使用して、テストするクラスのスパイ オブジェクトを作成します。
  2. PowerMockito.when(): を使用して、PowerMockito を使用してプライベート メソッドの動作を定義します。 。いつ()。このメソッドは 3 つのパラメータを取ります:

    • スパイ オブジェクト
    • メソッド マッチャー (この場合は、method() マッチャーで十分です)
    • 返される動作プライベート メソッドが呼び出されたとき

たとえば、次のコードはプライベート メソッド「doTheGamble」をモックして常に true を返します。

<code class="java">CodeWithPrivateMethod spy = PowerMockito.spy(new CodeWithPrivateMethod());

when(spy, method(CodeWithPrivateMethod.class, "doTheGamble", String.class, int.class))
        .withArguments(anyString(), anyInt())
        .thenReturn(true);</code>
  1. パブリック メソッドをテストします: 最後に、スパイ オブジェクトを使用して、プライベート メソッドを呼び出すパブリック メソッドをテストできます。

これらの手順に従うことで、プライベートを効果的にモックできます。 PowerMock と Mockito を使用したテストのメソッド。

以上がPowerMockを使用してMockitoのプライベートメソッドをモックする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。