一尘不染

如何在MSTest中运行具有多个参数的测试方法?

c#

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()
{
    // ...
}

阅读 444

收藏
2020-05-19

共1个答案

一尘不染

不幸的是,MSTest不支持它。显然有一个可扩展性模型,您可以自己实现。另一种选择是使用数据驱动的测试

我个人的看法是,尽管坚持使用NUnit …

编辑:从Visual Studio
2012更新1开始,MSTest具有类似的功能。请参阅下面的@McAden的答案

2020-05-19