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

WBOY
リリース: 2024-04-18 12:09:01
オリジナル
691 人が閲覧しました

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 フィールド: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:java;toolbar:false;'>public class User { private String name; private int age; // getters and setters }</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><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><div class="contentsignin">ログイン後にコピー</div></div>テストの実行後、JUnit は data.csv<p> ファイル内の各行を自動的に反復処理し、これらの値を使用して ## を実行します。 #testUser()<code> メソッド。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!