8

Java テスト環境では、次のコードのようにパラメーター化された単体テストを使用できます。

@RunWith(value = Parameterized.class)
public class JunitTest6 {

    private int number;

    public JunitTest6(int number) {
        this.number = number;
    }

    @Parameters
    public static Collection<Object[]> data() {
        Object[][] data = new Object[][] { { 1 }, { 2 }, { 3 }, { 4 } };
        return Arrays.asList(data);
    }

    @Test
    public void pushTest() {
        System.out.println("Parameterized Number is : " + number);
    }
}

Visual Studio 単体テスト プロジェクトでこれを行うにはどうすればよいですか? パラメータ化された属性やこのようなサンプルが見つかりません。

4

3 に答える 3

9

NUnit フレームワークを使用して、次のようにパラメーターをテストに渡します。

[TestCase(1, 2, 3)]
[TestCase(10, 20, 30)]
public void My_test_method(int first, int second, int third)
{
    // Perform the test
}

これは 2 回別々に実行1, 2, 3され、最初の実行と10, 20, 302 番目の実行で値が渡されます。

編集: NUnit で使用可能なテスト ランナーの概要については、この SO の質問を参照してください。

于 2012-07-26T13:10:14.210 に答える
1

NUnitを参照しても問題ない場合は、 Parameterized Testsのページを確認してください。インライン静的および動的データ値のサポート。

何らかの理由で NUnit を使用したくない場合、MSTest または VS ユニット テストでは、CSV、XML、または DBからの入力の取得がサポートされています。インライン サポートは、拡張機能を介して利用できます。動的サポートはまだ..入力/出力を動的に計算する場合は、動的コードをテスト メソッドに追加する必要があります。

于 2012-07-27T08:46:55.407 に答える