Rumah >Java >javaTutorial >Ujian dipacu data menggunakan rangka kerja ujian unit JUnit
Rangka kerja ujian unit JUnit menyokong ujian dipacu data, menggunakan sumber data boleh guna semula untuk menjalankan kes ujian secara dinamik. Langkah-langkah termasuk: Buat sumber data ujian, seperti fail CSV. Buat kelas ujian dan nyatakan sumber data menggunakan @RunWith(Parameterized.class) dan @Parameters. Tulis kaedah ujian dan suntikan data menggunakan @Test dan @Parameter. Gunakan anotasi Berparameter untuk melintasi sumber data secara automatik dan menyuntik data ujian.
Pengujian dipacu data menggunakan rangka kerja ujian unit JUnit
Pengujian dipacu data ialah teknik ujian automatik yang menjalankan kes ujian secara dinamik melalui sumber data boleh guna semula. JUnit ialah rangka kerja ujian unit Java yang digunakan secara meluas yang menyediakan sokongan untuk ujian dipacu data.
Langkah
Pertama, buat kelas atau fail teks untuk menyimpan data ujian. Boleh menggunakan CSV, JSON atau format lain. Contohnya:
// data.csv name,age John,25 Mary,30
Buat kelas ujian untuk kelas yang akan diuji dan gunakan anotasi Parameterized
untuk menentukan laluan sumber data: Parameterized
注解指定数据源路径:
@RunWith(Parameterized.class) public class DataDrivenTest { @Parameter public String name; @Parameter(1) public int age; @Parameters public static Iterable<Object[]> data() { return new CsvFileSource(new File("data.csv")); } }
Parameterized
注解将自动遍历数据源中的每一行,并使用 @Parameter
注解将值注入到测试方法中。
使用 @Test
注解编写测试方法,并在其中使用注入的数据:
@Test public void testNameAndAge() { assertEquals("John", name); assertTrue(age == 25); }
实战案例
为了展示数据驱动测试的实际应用,让我们测试一个简单的 User
类,其中包含 name
和 age
字段:
public class User { private String name; private int age; // getters and setters }
@RunWith(Parameterized.class) public class UserTest { @Parameter public String name; @Parameter(1) public int age; @Parameters public static Iterable<Object[]> data() { return new CsvFileSource(new File("data.csv")); } @Test public void testUser() { User user = new User(); user.setName(name); user.setAge(age); assertEquals(name, user.getName()); assertTrue(age == user.getAge()); } }
运行测试后,JUnit 将自动遍历 data.csv
文件中的每一行,并使用这些值运行 testUser()
rrreee
@Parameter
. 🎜@Test
untuk menulis kaedah ujian dan gunakan data yang disuntik di dalamnya: 🎜rrreee🎜🎜Kes praktikal 🎜🎜🎜 Untuk menunjukkan ujian dipacu data dalam tindakan, mari kita uji kelas User
mudah dengan medan name
dan age
: 🎜rrreeerrreee🎜Run After ujian, JUnit akan secara automatik melelar melalui setiap baris dalam fail data.csv
dan menjalankan kaedah testUser()
dengan nilai tersebut. 🎜Atas ialah kandungan terperinci Ujian dipacu data menggunakan rangka kerja ujian unit JUnit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!