xUnit は、Java 関数のテストを簡素化するための簡潔で強力なアサーションおよびモック関数を提供する Java 単体テスト フレームワークです。 xUnit の依存関係をインストールします。 Assert.assertEquals() を使用してアサートします。シミュレーション用に Mockito を統合し、他のクラスの動作をシミュレートするモック オブジェクトを作成します。これは、外部依存関係と対話する関数をテストするのに適しています。実際には、階乗を計算する関数などの複雑な関数をテストするために使用できます。
xUnit を使用した Java 関数の単体テスト
はじめに
xUnit は、Java で一般的に使用される単体テスト フレームワークです。 Java 関数のテストを容易にする、簡潔で強力なアサーションとモック機能のセットを提供します。
xUnitのインストール
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
アサーションの使用
import org.junit.Assert; public class CalculatorTest { @Test public void testAdd() { Calculator calculator = new Calculator(); int result = calculator.add(2, 3); // 断言结果应该为 5 Assert.assertEquals(5, result); } }
モッキングの使用
Mockitoは、xUnitで使用できる人気のモックライブラリです。 Mockito を使用すると、他のクラスやインターフェイスの動作をシミュレートするモック オブジェクトを作成できます。これは、外部依存関係と対話する関数をテストする場合に役立ちます。
import org.junit.Before; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito; public class CustomerServiceTest { @Mock private CustomerRepository customerRepository; @Before public void setUp() { Mockito.when(customerRepository.findById(1)).thenReturn(new Customer("John Doe")); } @Test public void testGetCustomer() { CustomerService customerService = new CustomerService(customerRepository); Customer customer = customerService.getCustomer(1); // 断言获取到的客户名为 "John Doe" Assert.assertEquals("John Doe", customer.getName()); } }
実際のケース
階乗を計算する関数を考えてみましょう:
public class Factorial { public int calculate(int n) { if (n == 0) { return 1; } else { return n * calculate(n - 1); } } }
単体テスト
import org.junit.Assert; public class FactorialTest { @Test public void testCalculate() { Factorial factorial = new Factorial(); // 断言 factorial(5) 应为 120 Assert.assertEquals(120, factorial.calculate(5)); } }
以上がxUnit を使用して Java 関数を単体テストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。