選択的なメソッドのモックに Mockito を使用する
Mockito は、クラス内の特定のメソッドをモックする柔軟性を提供します。部分モックを活用することで、開発者は他のメソッドをそのままにして、どのメソッドをオーバーライドするかを選択できます。
たとえば、メソッド getPrice()、Stock クラスを考えてみましょう。 >getQuantity()、および getValue()。最初の 2 つのメソッドの戻り値をモックしたい場合がありますが、getValue() は元の動作を保持します。
Mockito で部分モックを使用すると、この精度を実現できます。Stock オブジェクトはモックとしてインスタンス化されますが、getPrice() と getQuantity() には特定の期待値が設定されます。以下に例を示します。
Stock stock = mock(Stock.class); when(stock.getPrice()).thenReturn(100.00); when(stock.getQuantity()).thenReturn(200);
getValue() に対して thenCallRealMethod() を呼び出すことで、実際の実装を保持します。
when(stock.getValue()).thenCallRealMethod();
Stock stock = spy(Stock.class); when(stock.getPrice()).thenReturn(100.00); when(stock.getQuantity()).thenReturn(200);
Stock MOCK_STOCK = Mockito.mock( Stock.class, CALLS_REAL_METHODS );
price と の両方に対する getValue() の依存関係により、この部分的なモック戦略は依然として失敗する可能性があります。ゲッターだけでなく、数量 を直接使用します。
さらに、次の場合はモックの完全な回避を検討してください。可能:以上が部分モックのために Mockito でメソッドを選択的にモックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。