VS2017中的单元测试

时间:2018-07-24 16:26:01

标签: c# .net visual-studio unit-testing

我想在一些数据集上测试我的代码。这是我公司的某些用户可以更新的文件列表。我在构建版本之前使用单元测试运行,不知道测试数据集现在是否已更新。我使用Microsoft.VisualStudio.TestTools.UnitTesting。现在,我编写这样的代码:

[TestMethod]
public void Test1()
{
     foreach (var src in testDataSetFiles)
     {
           Assert.IsNotNull(someMethodForTest(src), "fail");    
     }
}

触发断言后,将停止Test1的单元测试。我知道这是可行的。但是也许有一种方法可以在某些src失败之后继续测试运行?我不想为每个src编写单独的TestMethod。谢谢!

1 个答案:

答案 0 :(得分:0)

Assert将引发异常。您应该为每个要测试的案例进行测试。

也就是说,有很多方法可以做您想要的。您可以计算失败的次数:

[TestMethod]
public void Test1()
{
    int nFails = 0;
    foreach (var src in testDataSetFiles)
    {
        if (someMethodForTest(src) == null)
        {
            nFails++:
        }
    }

    Assert.IsTrue(nFails == 0);
}

或者您可以尝试捕获并在列表中添加Assert给出的异常,并在最后检查它。