1

Row()属性を使用してサーバーの同じリストを取得する2つのテストがあります

両方のテストですべての行属性が重複しないようにする方法はありますか?

[RowTest]
[Row("server1")]
[Row("server2")]
[Row("server3")]
public void Test1(string server)
{
    //try connecting on port
}

[RowTest]
[Row("server1")]
[Row("server2")]
[Row("server3")]
public void Test2(string server)
{
   //ping server
}
4

1 に答える 1

1

はい。テストケースのソースを定義できます。ソースは、メソッド、フィールド、またはプロパティのいずれかであり、静的またはインスタンスのいずれかです。要件は、ソースがIEnumberableまたはそれを実装する別のタイプを返す必要があることです。もちろん、ソースは、要件である複数のテスト方法で再利用できます。

TestCaseSourceAttributeでメソッドを装飾することにより、テストケースのソースを指定します。以下のスニペットは、私が提供したリンクの例です。

static int[] EvenNumbers = new int[] { 2, 4, 6, 8 };

[Test, TestCaseSource("EvenNumbers")]
public void TestMethod(int num)
{
    Assert.IsTrue( num % 2 == 0 );
}

また、NUnitの最新バージョンでは、is no RowまたはRowTest属性があることも考慮に入れてください。詳細については、次の質問にアクセスしてください。nunit拡張機能/行テストはどうなりましたか?

于 2012-03-10T12:17:37.053 に答える