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

时间:2009-05-28 21:12:14

标签: .net unit-testing nunit

我正在对一个数字列表运行NUnit测试。

我的代码是这样的:

numbers = GetListOfNumbers()
foreach number in numbers
      Assert.IsTrue(TestNumber(number))

我的问题是,NUnit会在遇到未通过测试的第一个号码时停止测试。

如果有任何数字没有通过,Nniit是否仍然无法通过测试,但是请列出所有未通过的数字?

3 个答案:

答案 0 :(得分: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*/)

答案 1 :(得分:6)

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

Link

答案 2 :(得分:0)

这可以使用“RowTest”测试方法在MBUnit中完成。但是,我不知道在NUnit中这样做的方法。