Cara menggunakan kaedah dalam kelas ujian Java
Di Java, kelas ujian ialah alat penting untuk menguji kefungsian dan ketepatan kaedah. Kelas ujian boleh menggunakan pelbagai kaedah yang berbeza untuk menguji pelbagai aspek kaedah. Beberapa kaedah ujian biasa akan diperkenalkan di bawah dan contoh kod khusus akan diberikan.
Ujian unit ialah salah satu kaedah ujian yang paling biasa Ia digunakan untuk menguji unit terkecil sesuatu kaedah - iaitu sebahagian daripada kaedah atau fungsi.
import org.junit.Test; import static org.junit.Assert.*; public class CalculatorTest { @Test public void testAdd() { Calculator calculator = new Calculator(); int result = calculator.add(3, 5); assertEquals(8, result); } }
Dalam kod di atas, kami menggunakan rangka kerja JUnit untuk ujian. Kelas CalculatorTest
ditakrifkan dan kaedah ujian testAdd
ditandakan di dalamnya menggunakan anotasi @Test
. Dalam kaedah ujian, kami mencipta objek Kalkulator
, yang dipanggil kaedah add
dan menggunakan kaedah assertEquals
untuk menegaskan bahawa hasil sebenar adalah konsisten dengan Adakah hasil yang diharapkan konsisten? CalculatorTest
类,并在其中使用@Test
注解标记了一个测试方法testAdd
。在测试方法中,我们创建了一个Calculator
对象,并调用了其中的add
方法,并使用assertEquals
方法来断言实际结果与期望结果是否一致。
参数化测试使得我们可以使用不同的参数来测试一个方法,以便覆盖不同的情况。
import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import java.util.Arrays; import java.util.Collection; @RunWith(Parameterized.class) public class CalculatorTest { private int a; private int b; private int expected; public CalculatorTest(int a, int b, int expected) { this.a = a; this.b = b; this.expected = expected; } @Parameterized.Parameters public static Collection<Object[]> data() { return Arrays.asList(new Object[][] { {1, 2, 3}, {4, 5, 9}, {6, 7, 13} }); } @Test public void testAdd() { Calculator calculator = new Calculator(); int result = calculator.add(a, b); assertEquals(expected, result); } }
在上面的代码中,我们使用了JUnit的参数化测试功能。使用@RunWith(Parameterized.class)
注解来指定参数化测试运行器。在测试类中定义了三个私有变量a
、b
和expected
,并通过构造函数来初始化这些变量。使用@Parameterized.Parameters
注解来指定测试数据,并使用Arrays.asList
方法将测试数据转换为Collection。在测试方法中,我们同样创建了一个Calculator
对象,并调用其中的add
方法,然后使用assertEquals
方法来断言实际结果与期望结果是否一致。
异常测试用于测试方法在特定情况下是否会抛出异常。
import org.junit.Test; import static org.junit.Assert.*; public class CalculatorTest { @Test(expected = ArithmeticException.class) public void testDivideByZero() { Calculator calculator = new Calculator(); calculator.divide(6, 0); } }
在上面的代码中,我们使用了@Test(expected = ArithmeticException.class)
注解来预测Calculator
中的divide
方法会抛出ArithmeticException
异常。在测试方法中,我们创建了一个Calculator
对象,并调用其中的divide
Pengujian berparameter membolehkan kami menggunakan parameter yang berbeza untuk menguji kaedah untuk menampung situasi yang berbeza.
rrreee🎜Dalam kod di atas, kami telah menggunakan ciri ujian berparameter JUnit. Gunakan anotasi@RunWith(Parameterized.class)
untuk menentukan pelari ujian berparameter. Tiga pembolehubah peribadi a
, b
dan expected
ditakrifkan dalam kelas ujian, dan pembolehubah ini dimulakan melalui pembina. Gunakan anotasi @Parameterized.Parameters
untuk menentukan data ujian dan gunakan kaedah Arrays.asList
untuk menukar data ujian kepada Koleksi. Dalam kaedah ujian, kami juga mencipta objek Kalkulator
, memanggil kaedah add
dan kemudian menggunakan kaedah assertEquals
untuk menegaskan bahawa hasil sebenar adalah konsisten dengan Adakah hasil yang diharapkan konsisten? 🎜@Test(expected = ArithmeticException.class)
untuk meramalkan kaedah bahagi
dalam Kalkulator
Akan buang ArithmeticException
pengecualian. Dalam kaedah ujian, kami mencipta objek Kalkulator
dan memanggil kaedah divide
Memandangkan pembahagi ialah 0, pengecualian akan dilemparkan. Oleh kerana kami menentukan jenis pengecualian yang diramalkan, ujian akan berjaya. 🎜🎜Ringkasan: 🎜🎜Melalui ujian unit, ujian parameter, ujian pengecualian dan kaedah lain, kami boleh menguji kefungsian dan ketepatan sesuatu kaedah secara lebih komprehensif. Kelas ujian ialah salah satu alat penting dalam pembangunan Java, yang boleh membantu kami memastikan kualiti dan kebolehpercayaan kod. Saya harap contoh kod di atas akan membantu anda memahami cara kelas ujian Java menggunakan kaedah. 🎜Atas ialah kandungan terperinci Cara menggunakan kaedah dalam kelas ujian Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!