gpt4 book ai didi

junit - 使用 Assume.assumeTrue 或 Assert.assertTrue,测试何时退出?

转载 作者:行者123 更新时间:2023-12-05 01:46:22 25 4
gpt4 key购买 nike

我正在使用 JUnit 4.12,这是我目前对以下我经常使用的 API 的理解:

  • assumeTrue:如果表达式的计算结果为假,测试将停止并忽略
  • assertTrue:如果条件为假,则抛出 AssertionError
  • assertEquals:如果它们不相等,则抛出 AssertionError给定的消息
  • assertNotNull:如果为 null,则抛出 AssertionError

但是,我无法弄清楚几件事:

  1. 我的理解是,只有对于 assumeTrue,测试才会退出,但 assert 的定义是当语句计算为 false 时程序应该退出
  2. 当测试抛出 AssertionError 时,它是退出测试用例还是继续执行剩余的步骤?
  3. 是否可以认为测试通过,即使它们抛出 AssertionError 或者测试是否失败?

最佳答案

  1. assumeTrue 表示不应运行测试。这并不意味着您的代码已损坏,大多数运行者会将此测试视为“忽略”

  2. AssertionError 表示测试失败。将不再运行该测试用例(单一方法)中的更多步骤。这样做没有意义,因为测试已经失败了

  3. 测试失败。如果你想否定测试的意义,还有其他方法可以做到这一点,例如将 assertNull 替换为 assertNotNull

关于junit - 使用 Assume.assumeTrue 或 Assert.assertTrue,测试何时退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36208492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com