我有一个测试类如下:
[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 中运行此测试时,测试没有运行两次,正如预期的那样,它只运行一次。在我看到的测试结果中列出
my_test("someurl1", System.String[], 15)
这让我认为这两个夹具被视为相同,并且 NUnit 没有区分两个测试中的字符串数组。
作为一种解决方法,我在构造函数中添加了一个虚拟参数。如果我为每个夹具设置不同的值,那么所有测试都会运行。
是否不可能有包含不同值的数组的 TestFixtures?我刚刚从 ReSharper 5 升级,所以我想知道这是否相关。我已经阅读了 6.x 中参数化测试的一些问题。