java - JUnit 测试中的假设与断言

标签 java unit-testing junit

我读过如果假设失败,assume 将不会运行测试, 但我不确定何时放置 assertassume 的逻辑。

例如:任何资源加载检查都应该用assume来完成吗?

什么时候应该使用 assume 而不是 assert

(注意:我正在寻找何时使用一个而不是另一个的正确设计)

最佳答案

如果您遇到某些测试根本不应运行的情况,您可以使用assume。 “未运行”意味着它不会失败,因为它没有运行。

如果出现问题,您可以使用 assert 使测试失败。

因此,在一个假设的场景中:

  • 您为不同的客户提供不同的构建,并且
  • 您拥有一些仅适用于特定客户的资源,并且
  • 该资源有一些可测试的东西,然后

你会写一个测试:

  • 假设资源存在,(因此测试不会在没有该资源的客户上运行,)然后
  • 断言有关资源的一切都没有问题(因此对于实际拥有该资源的客户,测试可确保该资源处于应有的状态。)

关于java - JUnit 测试中的假设与断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44628483/

相关文章:

java - 从另一个类访问数组列表

node.js - 使用 Mongoose 进行单元测试

unit-testing - Laravel:将测试组织到文件夹中并运行它们

c# - MSTest 断言因空引用而失败

spring - 无法为 Spring Controller 的 JUnit 测试加载 ApplicationContext

java - Coverage 插件是否需要预先运行单元测试

java - Selenium 测试运行不会保存 cookie?

java - 进行 cordova 平台更新后,Android 目标发生更改

java - 金字塔的简单java程序

java - Java 程序本身是否支持版本的概念?