ホームページ > Java > &#&チュートリアル > PowerMockitoを使用してオブジェクトを返す単一の静的メソッドをモックする方法?

PowerMockitoを使用してオブジェクトを返す単一の静的メソッドをモックする方法?

Patricia Arquette
リリース: 2024-12-02 15:30:12
オリジナル
486 人が閲覧しました

How to Mock a Single Static Method Returning an Object Using PowerMockito?

PowerMockito を使用して単一の静的メソッドをモックしてオブジェクトを返す

複数の静的メソッドを含むクラスを扱う場合、単一の静的メソッドをモックしながら確実にオブジェクトを返すという課題が発生します。オブジェクトを返します。 PowerMockito を使用した詳細なソリューションは次のとおりです。

  1. 静的モッキングを有効にする:

    まず、PowerMockito を使用して、変更するクラスの静的モッキングを有効にします。モック静的(クラス.クラス)。これにより、そのクラス内の静的メソッドの特定の動作を設定できます。

  2. メソッドのスタブ:

    ターゲットの動作を指定するには静的メソッドの場合は、when-thenReturn 構文を使用します。例:

    when(Class.m1(param1, param2)).thenReturn(objectToReturn);
    ログイン後にコピー

    これは、指定されたパラメーターで m1 が呼び出されたときに、指定されたオブジェクトを返す必要があることを指定します。

  3. デフォルトの戻り値の回避:

    デフォルトでは、PowerMockito は独自のデフォルト値を提供します。スタブ化されていない静的メソッド。これをオーバーライドしてカスタム オブジェクトを返すには、デフォルトの戦略を指定せずに、mockStatic の 1 引数バージョンを使用することが重要です。

  4. 実装例:

    次のコード スニペットを考えてみましょう:

    PowerMockito.mockStatic(Static.class);
    when(Static.m1("param1", "param2")).thenReturn(new Object());
    ログイン後にコピー

    これコードは、静的クラスの静的メソッド m1 をモックし、それをスタブして、オブジェクトの新しいインスタンスを返します。

  5. モックされたメソッドの使用:

    静的メソッドをモックしてスタブ化したら、通常どおり使用できます。メソッド呼び出しは PowerMockito によってインターセプトされ、指定されたオブジェクトを返します。

ここでの主な違いは、mockStatic の 1 引数バージョンを使用して、デフォルトの戦略を指定せずに静的モックを有効にすることです。次に、when-thenReturn 構文を使用して単一の静的メソッドをスタブし、オブジェクトを返します。

以上がPowerMockitoを使用してオブジェクトを返す単一の静的メソッドをモックする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート