10

私はNUnitを使用しています。私は自分のテストメソッドを次のように定義しています:

[Test]
[TestCase("Fred", "Bloggs")]
[TestCase("Joe", "Smith")]
public void MyUnitTest(string firstName, string lastName)
{
    ...
}

TestCase が終了すると、TearDown メソッドに入ります。やりたいことは、テスト メソッドに渡されるだけでなく、TearDown メソッドにも渡される TestCase パラメーターを用意することです。

このようなもの:

[TearDown]
public void TearDown(string firstName, string lastName)
{
  ...
}

NUnit がこれをそのままサポートしてくれることを願っています。それ以外の場合は、テスト データをコレクションに格納するために、テスト メソッドに特注のコードを記述する必要があります。次に、そのコレクションが TearDown メソッドで使用されます。

誰かが何か考えがあれば..素晴らしいでしょう!ありがとう。キリスト教徒

4

3 に答える 3

9

TearDown と SetUp は、テスト フィクスチャ内の各テストに対して実行されます。次のテストがあるとします。

[TestCase("Joe", "Smith")]
public void Test1(string firstName, string lastName) { ... }

[Test]
public void Test2() { ... }

[TestCase(10)]
public void Test3(int value) { ... }

TearDown メソッドの期待されるシグネチャは何ですか?

したがって、答えはノーです。NUnit は、テスト パラメーターを TearDown メソッドに渡す既定の方法を提供しません。そして、そうはならないと思います。この機能を手動で追加する必要があります。

于 2012-04-24T11:54:12.897 に答える
5

実際、これは可能です。

TearDown で参照TestContext.CurrentContext.Test.Nameすると、渡されたパラメーターを含む完全なメソッド シグネチャを取得できます。解析する必要がありますが、そこにあります。

于 2015-03-18T23:18:00.547 に答える