首页 > 解决方案 > if 条件与 JUnit 的假设条件有何不同?

问题描述

为什么要使用JUnit'ssumptionThat() 方法而不是简单的老式简单 if 子句?如果一个人可以使用简单的东西,你为什么要用同样的方式来复杂化它。

只是表达性的东西,还是有什么好处,我没有看到其他好处。

标签: javajunit

解决方案


Junit'sassume不是版本 5 中的新功能,它从 v4.4 开始就有,并且还有其他应用程序。

您可以使用跳过测试if,但assume您可以使用.Listener

示例情况(最常见) - 您可以有一个侦听器,它创建测试报告。并且可以有一个代码来添加失败的测试、通过的测试和假设失败的测试到报告中。如果您想在不使用侦听器或testAssumptionFailure方法的情况下实现这一点,那么您将不得不在任何地方重复调用它。

相反,添加一个侦听器使其模块化和可维护。

您可以使用多种assume 方法来停止重复写入ifelse消息。


推荐阅读