在 JUnit 测试中假设与断言
我已经读过,如果假设失败,将不会运行测试,但我不确定何时放置与的逻辑。assume
assert
assume
例如:任何资源加载检查都应该用 ?assume
我应该什么时候使用?assume
assert
(注意:我正在寻找正确的设计,何时使用一个而不是另一个)
我已经读过,如果假设失败,将不会运行测试,但我不确定何时放置与的逻辑。assume
assert
assume
例如:任何资源加载检查都应该用 ?assume
我应该什么时候使用?assume
assert
(注意:我正在寻找正确的设计,何时使用一个而不是另一个)
如果您遇到某些测试根本不应运行的情况,则可以使用。“不运行”意味着它不能失败,因为,好吧,它没有运行。assume
如果出现问题,您将无法通过测试。assert
因此,在假设的场景中:
你会写一个测试:
Assert 类是 JUnit 的主力,也是 JUnit 测试人员最熟悉的类。大多数 JUnit 断言签名在性质上都是相似的。它们由可选消息、预期实例或变量以及要比较的实际实例或变量组成。或者,在布尔测试(如 True、False 或 Null)的情况下,只有要测试的实际实例。
带有消息的签名仅具有一个初始参数,其中包含一个消息字符串,该消息字符串将在断言失败时显示:
assert<something>(“Failure Message String”, <condition to be tested>);
假设:您可能听说过最好不要在假设上工作,所以这里有一个测试工具JUnit为您提供,以确保您的测试不会。
断言和假定在测试失败时都停止,然后转到下一个测试。不同之处在于,失败的 Assert 将失败注册为失败的测试,而假设只是移动到下一个测试。这允许测试人员确保在运行测试之前根据需要存在条件(其中一些可能是外部条件,并且不受测试人员的控制)。
假设有四种:一种用于检查布尔条件,一种用于检查是否未发生异常,一种用于检查空对象,以及一种可以使用Hamcrest匹配器。如上面的 Assert 部分所示,使用 Hamcrest 匹配器的能力是测试灵活性的门户。
简而言之,假设用于禁用测试,例如,以下内容禁用 Linux 上的测试:
Assert 用于测试功能。Assume.assumeFalse(System.getProperty("os.name").contains("Linux"));