Rumah >Java >javaTutorial >Bagaimana untuk menguji unit fungsi Java dengan xUnit?
xUnit ialah rangka kerja ujian unit Java yang menyediakan fungsi penegasan dan mengejek yang ringkas dan berkuasa untuk memudahkan ujian fungsi Java. Pasang kebergantungan xUnit. Gunakan Assert.assertEquals() untuk menegaskan. Integrasikan Mockito untuk simulasi dan cipta objek olok-olok untuk mensimulasikan gelagat kelas lain Ia sesuai untuk menguji fungsi yang berinteraksi dengan kebergantungan luaran. Dalam amalan, ia boleh digunakan untuk menguji fungsi kompleks, seperti fungsi yang mengira faktorial.
Unit menguji fungsi Java dengan xUnit
Pengenalan
xUnit ialah rangka kerja ujian unit yang biasa digunakan di Java. Ia menyediakan satu set pernyataan yang ringkas dan berkuasa serta ciri mengejek yang memudahkan ujian fungsi Java.
Memasang xUnit
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency>
Menggunakan Penegasan
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); } }
Menggunakan Mocking
Mockito ialah perpustakaan mengejek yang popular yang boleh digunakan dengan xUnit. Mockito membolehkan anda mencipta objek olok-olok yang meniru gelagat kelas atau antara muka lain. Ini berguna untuk menguji fungsi yang berinteraksi dengan kebergantungan luaran.
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()); } }
Kes praktikal
Pertimbangkan fungsi yang mengira faktorial:
public class Factorial { public int calculate(int n) { if (n == 0) { return 1; } else { return n * calculate(n - 1); } } }
Ujian unit
import org.junit.Assert; public class FactorialTest { @Test public void testCalculate() { Factorial factorial = new Factorial(); // 断言 factorial(5) 应为 120 Assert.assertEquals(120, factorial.calculate(5)); } }
Atas ialah kandungan terperinci Bagaimana untuk menguji unit fungsi Java dengan xUnit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!