JUnit 単体テスト フレームワークは、再利用可能なデータ ソースを使用してテスト ケースを動的に実行する、データ駆動型テストをサポートします。手順は次のとおりです。 CSV ファイルなどのテスト データ ソースを作成します。テスト クラスを作成し、@RunWith(Parameterized.class) と @Parameters を使用してデータ ソースを指定します。 @Test と @Parameter を使用してテスト メソッドを作成し、データを挿入します。パラメータ化されたアノテーションを使用して、データ ソースを自動的に走査し、テスト データを挿入します。
データ駆動型テストのための JUnit 単体テスト フレームワークの使用
データ駆動型テストは、繰り返し可能な自動テスト テクノロジです。データ ソースを使用してテスト ケースを動的に実行します。 JUnit は、データ駆動型テストのサポートを提供する、広く使用されている Java 単体テスト フレームワークです。
手順
まず、クラスまたはテキスト ファイルを作成しますテストデータを保存します。 CSV、JSON、またはその他の形式を使用できます。例:
// data.csv name,age John,25 Mary,30
テスト対象のクラスのテスト クラスを作成し、 を使用して指定します。パラメータ化された
アノテーション データ ソース パス:
@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")); } }
パラメータ化された
アノテーションは、データ ソース内の各行を自動的に反復処理し、@Parameter# を使用してテスト メソッドに値を挿入します。 ## 注釈。
@Test アノテーションを使用してテスト メソッドを作成し、その中で挿入されたデータを使用します:
@Test public void testNameAndAge() { assertEquals("John", name); assertTrue(age == 25); }
実用的なケース
データ駆動型テストの動作を示すために、name # を含む単純な User
クラスをテストしてみましょう。 ## フィールドと age
フィールド: <pre class='brush:java;toolbar:false;'>public class User {
private String name;
private int age;
// getters and setters
}</pre><pre class='brush:java;toolbar:false;'>@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());
}
}</pre>
テストの実行後、JUnit は
ファイル内の各行を自動的に反復処理し、これらの値を使用して ## を実行します。 #testUser() メソッド。
以上がJUnit 単体テスト フレームワークを使用したデータ駆動型テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。