ホームページ > Java > &#&チュートリアル > Mockito モッキング: When() と doReturn() – いつどちらを使用すべきですか?

Mockito モッキング: When() と doReturn() – いつどちらを使用すべきですか?

Linda Hamilton
リリース: 2024-12-07 14:11:16
オリジナル
364 人が閲覧しました

Mockito Mocking: When() vs. doReturn() – When Should I Use Which?

Mockito の利用: DoReturn() と When()

Mockito の領域では、明らかな類似点を持つ 2 つのメソッドが出現します。 ) と when()。どちらもオブジェクトのモック機能を促進し、「なぜこのような類似したメソッドが 2 つ必要なのでしょうか?

答えは、スパイされたオブジェクト (@Spy のアノテーションが付けられたもの) とモックされたオブジェクト (@Mock のアノテーションが付けられたもの) で使用されたときの動作にあります」 )。モックされたオブジェクトとは異なり、スパイされたオブジェクトは、拡張したクラスの実際のメソッド実装を保持します。

When() thenReturn() は、指定された戻り値を置き換える前に元のメソッドを呼び出します。したがって、メソッドによってスローされた例外はテスト内で処理する必要があります。例:

@Spy
private MyClass myClass;

// Continues executing the actual method, potentially throwing an exception
when(myClass.anotherMethodInClass()).thenReturn("test");
ログイン後にコピー

DoReturn() when() は、メソッド呼び出しを完全にインターセプトします。これにより、元のメソッドの実行が防止され、例外のリスクが排除されます。

// Bypasses the actual method call, returning the specified value
doReturn("test").when(myClass).anotherMethodInClass();
ログイン後にコピー

スパイ対象オブジェクトを操作する場合、この区別を理解することが重要です。スパイされたメソッドがエラーを引き起こす可能性がある状況では、 doReturn() が when() に代わる安全な代替手段を提供し、スムーズなテスト エクスペリエンスを保証します。

以上がMockito モッキング: When() と doReturn() – いつどちらを使用すべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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