记录JUnit中的失败假设

时间:2018-05-15 19:32:28

标签: java junit

我的一些单元测试中有一些assumeTrue()assumeFalse()声明。如果假设不正确,我想写出一条日志消息,但我没有看到明显的方法。

文档说没有记录失败的假设,因为可能有很多单元测试由于配置的不同而不是必需的,所以我认为逻辑是日志中会有不必要的混乱,这是有道理的。

只是想知道如何/如果人们在JUnit中为失败的假设实现了输出消息。我唯一能想到的就是使用@TestInstance(Lifecycle.PER_CLASS)注释单元测试类,并使用我设置前后假设的布尔标志,但这似乎是一个糟糕的设计。

1 个答案:

答案 0 :(得分:1)

Assume javadoc

的这一点
  

通常不会记录失败的假设,因为可能有很多   不适用于某些配置的测试。

关注全班Assume而不是班级提供的可能性 您可以翻译它,因为您通常不应记录失败的假设。

  

只是想知道人们是如何实现输出消息的   在JUnit中失败的假设。

如果您因为不遵守假设而忽略测试,则意味着在某些情况下其执行并不重要。那你为什么要登录呢? 如果测试执行很重要,那么您就不会使用假设,并且通常会通过断言替换假设。

现在您有两种编写JUnit假设的方法:

  • 通过不使用例如public static void assumeTrue(boolean b)
  • 进行记录
  • 通过例如public static void assumeTrue(String message, boolean b)
  • 进行记录

当然assumeFalse()assumeThat()提供类似的口味。

最后,请注意在极端情况下使用假设(例如,您希望忽略某些方案的理论,或者您不熟悉运行时使用的环境)。所以我尽量避免它。

相关问题