ユニットテストでのモッキング:モッキートvs.イーシャルモックvs. jmockit
この記事では、3つの人気のあるJavaモッキングフレームワークを比較します。Mockito、EasyMock、およびJmockitは、構文、機能、使いやすさ、長期的な適合性に焦点を当てています。 順番に各質問に対処します。構文と使用状況の重要な違いを理解するMockito、EasyMock、およびJMockitはすべて、ユニットテスト中に実際のオブジェクトの動作をシミュレートするモックオブジェクトを作成できます。ただし、それらはアプローチと構文が大きく異なります。 「自然な」スタイルを使用します。ここでは、や
などのメソッドを使用して、モックオブジェクトにメソッドを直接スタブします。 メソッドコールの検証を含むさまざまなタイプの検証をサポートします。 Mockitoは一般に、特に初心者にとっては、学習と使用が容易であると考えられています。 例:when()
thenReturn()
easymock:verify()
レコードとレプレイスタイルを使用します。最初に、List<String> mockList = Mockito.mock(List.class); Mockito.when(mockList.get(0)).thenReturn("Hello"); String result = mockList.get(0); // result will be "Hello" Mockito.verify(mockList).get(0); // Verifies that get(0) was called
expect()
andReturn()
jmockit:verify()
は、bytecode操作を使用した強力で柔軟なアプローチを提供します。 多くの場合、明示的なモック作成を必要とせずに、クラス、インターフェイス、さらには最終クラスと方法をock笑することができます。 JMockitは、List<String> mockList = EasyMock.createMock(List.class); EasyMock.expect(mockList.get(0)).andReturn("Hello"); EasyMock.replay(mockList); String result = mockList.get(0); // result will be "Hello" EasyMock.verify(mockList);
@Mocked
複雑なモッキングシナリオの場合、以上がユニットテストでのモッキング:モッキートvs.イージーモックvs. jmockitの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。