Bagaimana untuk menggunakan PowerMock untuk ujian penyepaduan fungsi Java? Pasang PowerMock: Pasang PowerMock melalui kebergantungan Maven. Contoh: Buat kelas Kalkulator. Gunakan PowerMock untuk mengejek kaedah statik dalam kelas Kalkulator. Dalam kaedah ujian, gunakan Mockito untuk mengejek panggilan kaedah dan mengembalikan nilai. Gunakan JUnit Assert.assertEquals untuk mengesahkan keputusan. Kesimpulan: PowerMock menjadikan ujian integrasi mudah, walaupun untuk kelas yang mengandungi kaedah statik dan akhir.
Cara menggunakan PowerMock untuk ujian penyepaduan fungsi Java
Pengenalan
Pengujian integrasi ialah jenis ujian perisian yang penting, digunakan untuk menilai interaksi antara berbilang komponen perisian. Apabila bercakap tentang Java, PowerMock ialah perpustakaan popular yang mengejek kaedah statik dan terakhir serta mencipta objek olok-olok, menjadikan ujian integrasi lebih mudah.
Pasang PowerMock
Pasang PowerMock melalui kebergantungan Maven:
<dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>2.0.9.9</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-testng</artifactId> <version>2.0.9.9</version> <scope>test</scope> </dependency>
Contoh
Pertimbangkan kelas Kalkulator
dalam kod berikut: Calculator
类:
public class Calculator { public static int add(int a, int b) { return a + b; } public static int divide(int a, int b) { return a / b; } }
为了测试 Calculator
中的方法,我们可以使用 PowerMock:
import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.powermock.api.mockito.PowerMockito; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) public class CalculatorTest { @Mock private Calculator calculatorMock; @Before public void setUp() { PowerMockito.mockStatic(Calculator.class); Mockito.when(Calculator.add(1, 2)).thenReturn(3); Mockito.when(Calculator.divide(4, 2)).thenReturn(2); } @Test public void testAdd() { int result = Calculator.add(1, 2); assertEquals(3, result); } @Test public void testDivide() { int result = Calculator.divide(4, 2); assertEquals(2, result); } }
在测试方法中:
PowerMockito.mockStatic
来模拟静态方法。when(...)
Reee PowerMockito.mockStatic
untuk mengejek kaedah statik. Gunakan anotasi Mock dan kaedah when(...)
Mockito untuk mensimulasikan panggilan kaedah dan mengembalikan nilai.
Atas ialah kandungan terperinci Bagaimana untuk mengintegrasikan fungsi Java ujian dengan PowerMock?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!