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

发布于 2024-07-22 12:44:15 字数 271 浏览 7 评论 0原文

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

我的代码是这样的:

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

我的问题是 NUnit 会在它遇到的第一个未通过测试的数字上停止测试。

如果有任何数字未通过,是否有办法使 NUnit 仍然无法通过测试,但给我所有未通过的数字的列表?

I'm running a NUnit test over a list of numbers.

My code goes something like this:

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

My problem is that NUnit will stop the test on the first number it encounters that doesn't pass the test.

Is there anyway to make NUnit still fail the test if any numbers don't pass, but give me the list of all numbers that don't pass?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

转身泪倾城 2024-07-29 12:44:15

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

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

As a workaround, instead of using an Assert.IsTrue like that, you could try something like:

numbers = GetListOfNumbers()
List<number> fails = numbers.Where(currentNum=>!TestNumber(curentNum))
if (fails.Count > 0)
    Assert.Fail(/*Do whatever with list of fails*/)
通知家属抬走 2024-07-29 12:44:15

NUnit 2.5 具有数据驱动测试; 这将完全满足您的需要。 它将迭代您的所有数据并为每个数字生成单独的测试用例。

链接

NUnit 2.5 has data-driven testing; this will do exactly what you need. It'll iterate over all of your data and generate individual test cases for each number.

Link

飘然心甜 2024-07-29 12:44:15

这可以在 MBUnit 中使用“RowTest”测试方法来完成。 然而,我不知道在 NUnit 中执行此操作的方法。

This can be done in MBUnit using a "RowTest" test method. I'm not aware of a way of doing this in NUnit, however.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文