NUnit具有一个称为“值”的功能,如下所示:
[Test] public void MyTest( [Values(1,2,3)] int x, [Values("A","B")] string s) { // ... }
这意味着测试方法将运行6次:
MyTest(1, "A") MyTest(1, "B") MyTest(2, "A") MyTest(2, "B") MyTest(3, "A") MyTest(3, "B")
我们现在正在使用MSTest,是否有与此等效的功能,以便可以使用多个参数运行相同的测试?
[TestMethod] public void Mytest() { // ... }
不幸的是,MSTest不支持它。显然有一个可扩展性模型,您可以自己实现。另一种选择是使用数据驱动的测试。
我个人的看法是,尽管坚持使用NUnit …
编辑:从Visual Studio 2012更新1开始,MSTest具有类似的功能。请参阅下面的@McAden的答案。