ホームページ  >  記事  >  Java  >  JUnit 単体テスト フレームワークを使用したデータ駆動型テスト

JUnit 単体テスト フレームワークを使用したデータ駆動型テスト

WBOY
WBOYオリジナル
2024-04-18 12:09:01647ブラウズ

JUnit 単体テスト フレームワークは、再利用可能なデータ ソースを使用してテスト ケースを動的に実行する、データ駆動型テストをサポートします。手順は次のとおりです。 CSV ファイルなどのテスト データ ソースを作成します。テスト クラスを作成し、@RunWith(Parameterized.class) と @Parameters を使用してデータ ソースを指定します。 @Test と @Parameter を使用してテスト メソッドを作成し、データを挿入します。パラメータ化されたアノテーションを使用して、データ ソースを自動的に走査し、テスト データを挿入します。

JUnit 単体テスト フレームワークを使用したデータ駆動型テスト

データ駆動型テストのための JUnit 単体テスト フレームワークの使用

データ駆動型テストは、繰り返し可能な自動テスト テクノロジです。データ ソースを使用してテスト ケースを動的に実行します。 JUnit は、データ駆動型テストのサポートを提供する、広く使用されている Java 単体テスト フレームワークです。

手順

  1. テスト データ ソースの作成

まず、クラスまたはテキスト ファイルを作成しますテストデータを保存します。 CSV、JSON、またはその他の形式を使用できます。例:

// data.csv
name,age
John,25
Mary,30
  1. テスト クラスの作成

テスト対象のクラスのテスト クラスを作成し、 を使用して指定します。パラメータ化された アノテーション データ ソース パス:

@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# を使用してテスト メソッドに値を挿入します。 ## 注釈。

  1. テスト メソッドを作成する

@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&lt;Object[]&gt; data() { return new CsvFileSource(new File(&quot;data.csv&quot;)); } @Test public void testUser() { User user = new User(); user.setName(name); user.setAge(age); assertEquals(name, user.getName()); assertTrue(age == user.getAge()); } }</pre>テストの実行後、JUnit は

data.csv

ファイル内の各行を自動的に反復処理し、これらの値を使用して ## を実行します。 #testUser() メソッド。

以上がJUnit 単体テスト フレームワークを使用したデータ駆動型テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。