首页 > 解决方案 > VS2017中的单元测试

问题描述

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

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

当断言被触发时,Test1 的单元测试将停止。它的工作原理,我知道。但也许有办法在一些src失败后继续测试运行?我不想为每个src. 谢谢!

标签: c#.netvisual-studiounit-testing

解决方案


断言会抛出异常。您应该对要测试的每个案例进行测试。

也就是说,有办法做你想做的事。您可以计算失败的次数:

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

    Assert.IsTrue(nFails == 0);
}

或者你可以做一个 try-catch 并将 Assert 给出的异常添加到一个列表中并在最后检查它。


推荐阅读