次のようなテストクラスがあります。
[TestFixture("someurl1", new[] { "param1", "param2" }, 15)]
[TestFixture("someurl2", new[] { "param3" }, 15)]
public class my_test
{
public my_test(string url, string[] fields, int someVal)
{
// test setup
}
}
ReSharper 6.1 および NUnit 2.5.10 でこのテストを実行すると、予想どおり、テストは 2 回実行されず、1 回だけ実行されます。リストされているテスト結果に
my_test("someurl1", System.String[], 15)
これは、2 つのフィクスチャが同じものとして扱われ、NUnit が 2 つのテストの文字列配列を区別していないと思わせます。
回避策として、コンストラクタにダミー パラメータを追加しました。これをフィクスチャごとに異なる値に設定すると、すべてのテストが実行されます。
異なる値を含む配列を持つ TestFixtures を持つことはできませんか? ReSharper 5 からアップグレードしたばかりなので、それが関係しているかどうか疑問に思っています。6.x のパラメータ化されたテストに関するいくつかの問題について読みました。