Mockito を使用して Java 関数をテストする手順: Mockito の依存関係を追加します。モック オブジェクトを作成し、モックの動作を設定します。テストする関数を呼び出します。関数の期待される動作をアサートします。 verify() を使用して、シミュレートされた対話を検証します。
Mockito を Java 関数の単体テストに使用する方法
Mockito は、Java の単体テストに関して人気のあるモックです。外部依存関係を模擬するテスト ダブルを作成できるフレームワーク。 Mockito を使用すると、Java 関数のテストが非常に簡単になります。
依存関係
開始する前に、Mockito の依存関係がプロジェクトに含まれていることを確認してください:
<dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>4.6.1</version> <scope>test</scope> </dependency>
テスト クラスを作成します
関数テスト クラスを作成するには、新しいクラスを作成し、MockitoTestCase
クラスを次のように拡張します:
import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; public class FunctionTest extends MockitoTestCase { // 定义要测试的函数 private Function<Integer, Integer> function; @Before public void setUp() { // 创建函数的模拟 function = Mockito.mock(Function.class); } // 测试函数的行为 @Test public void testFunction() { // 设置函数的模拟行为 Mockito.when(function.apply(10)).thenReturn(20); // 调用要测试的函数 int result = function.apply(10); // 断言函数的预期行为 assertEquals(20, result); verify(function, times(1)).apply(10); } }
実用的なケース
数値を受け取り、結果に 10 を加えたものを返す単純な関数 addTen()
を考えてみましょう。
public class MathFunctions { public int addTen(int number) { return number + 10; } }
実際のケースをテストする
Mockito を使用してこの関数をテストするには、以下に示すようにテスト クラスを作成してください:
import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; public class MathFunctionsTest extends MockitoTestCase { private MathFunctions mathFunctions; @Before public void setUp() { mathFunctions = Mockito.mock(MathFunctions.class); } @Test public void testAddTen() { Mockito.when(mathFunctions.addTen(10)).thenReturn(20); int result = mathFunctions.addTen(10); assertEquals(20, result); verify(mathFunctions, times(1)).addTen(10); } }
結論
#Mockito を使用して Java 関数の単体テストを行うのは非常に簡単です。モックを作成し、モックの動作を定義し、関数の期待される動作をアサートすることで、関数の正確性を簡単にテストできます。以上がMockito を使用して Java 関数を単体テストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。