Visual Studio单元测试 - 如何处理多个测试用例,类似于Nunit

12
Nunit中,一个测试方法可以被多个用例重复使用。
[TestCase(12,3,4)]
[TestCase(12,2,6)]
[TestCase(12,4,3)]
public void DivideTest(int n, int d, int q)
{
  Assert.AreEqual( q, n / d );
}

如何在Visual Studio的测试框架中实现此操作?

可能是Does MSTest have an equivalent to NUnit's TestCase?的重复问题。 - Ian Kemp
3个回答

3

这是无法直接实现的。但至少对于VS 2010,你可以编写MSTEST扩展来提供几乎相同的功能。请查看这个博客。但它远不如NUnit的TestCase好用。


3

很遗憾,MS Test不支持RowTests。但是,可以使用DataSource属性来实现一个变通的方法。这里有一个示例


1

当然,我们可以像这里所示那样使用 DataRow 属性:

[TestClass]
public class AdditionTests
{    
    [DataTestMethod]
    [DataRow(1, 1, 2)]
    [DataRow(2, 2, 4)]
    [DataRow(3, 3, 6)]
    public void AddTests(int x, int y, int expected)
    {
      Assert.AreEqual(expected, x + y);
    }
}

自2017年起,MS Test V2就拥有了这个功能。但在2012年提出问题并给出答案时,使用MS Test V1是不可能的。 - gdir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接