【发布时间】:2012-04-05 13:39:56
【问题描述】:
我有一个测试类如下:
[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 中参数化测试的一些问题。
【问题讨论】:
-
它在 NUnit 运行器中工作吗?
-
另外,感谢您指出您可以使用参数化测试夹具,因为我不知道这是可能的。
-
刚刚在 NUnit 运行器中尝试过,并且成功运行了所有测试。我认为这可能与 ReSharper 升级有关。
-
我之前在使用 resharper 的跑步者时遇到过问题。我现在只坚持使用 NUnit。
标签: c# testing nunit resharper parameterized