2

実行時にNUnitに追加のテストを動的に追加できるかどうかを調べています。これは、構成ファイルに基づいて行う予定です。私のテストは、日付とクライアントを含む特定の値のセットについて、2 つのソース (開発システムとテスト システムなど) からのデータを比較するように設計されています。他のテスト用です。) 現在、テストしたい選択した値のセット (さまざまな日付やクライアントなど) に対して、次のようにソース コードにハード コードされた多数のテストをセットアップしています。

[Test]
public void ClientName_Janurary_1_2012()
{
    RunTest("Client Name", new DateTime(2012, 1, 1));
}

ただし、追加の日付をテストする必要がある場合は、ソース コードを変更して[Test]、それらの日付ごとにメソッドを追加する必要があります (通常、これらのテスト メソッドは 1 行のみで、日付を指定して別のメソッドを呼び出します)。パラメーター。)

実行時に NUnit に表示されるテストを動的に作成して、構成ファイルを変更することでテストを追加することはできますか?

4

2 に答える 2

4

他の人が言ったように、あなたが本当に求めているのは (私が思うに) 、実行時に新しいテストデータを使用する方法です。

これは、 TestCaseSource属性を使用して NUnit でネイティブに行うことができます。構成ファイルを読み取り、入力を目的の出力にマップする関数に属性をポイントするだけです。テスト データの各ポイントは、そのテスト メソッドの個別の「子」として表示されます。

于 2012-07-10T06:26:36.093 に答える
4

データが変更されるたびに新しいテストを生成するのではなく、単一のパラメーター化されたテストと、そのファイルをテストの入力として使用する NUnit 拡張機能を作成することをお勧めします。おそらく、NUnit RowTestのようなものを出発点として使用できます。

于 2012-07-10T06:02:45.487 に答える