让NUnit在第一次失败时不会停止

Ray*_*Ray 3 .net nunit unit-testing

我在一个数字列表上运行NUnit测试.

我的代码是这样的:

numbers = GetListOfNumbers()
foreach number in numbers
      Assert.IsTrue(TestNumber(number))
Run Code Online (Sandbox Code Playgroud)

我的问题是NUnit将在遇到的第一个未通过测试的号码上停止测试.

无论如何,如果任何数字没有通过,NUnit仍然无法通过测试,但是给我列出所有未通过的数字?

GWL*_*osa 7

作为一种解决方法,您可以尝试以下方式,而不是像这样使用Assert.IsTrue:

numbers = GetListOfNumbers()
List<number> fails = numbers.Where(currentNum=>!TestNumber(curentNum))
if (fails.Count > 0)
    Assert.Fail(/*Do whatever with list of fails*/)
Run Code Online (Sandbox Code Playgroud)


Mar*_*son 6

NUnit 2.5具有数据驱动的测试; 这将完全符合您的需求.它将遍历所有数据并为每个数字生成单独的测试用例.

链接