什么是
assertThat()
方法?怎么会有用?
我在hadoop的mapreduce程序中看到过这个方法。谁能简单解释一下?
assertThat 是 Assert 对象的 JUnit 方法之一,可用于检查特定值是否与预期值匹配。
主要接受2个参数。第一个是实际值,第二个是匹配器对象。然后它将尝试比较这两者并返回布尔结果是否匹配。
您可以在 https://examples.javacodegeeks.com/core-java/junit/junit-assertthat-example/
上找到一些示例assertThat()
属于Hamcrest的Matchers
类。此方法的功能与 assertEquals()
类的 Assert
的功能类似,但 assertThat()
更具人类可读性。
例如:
assertEquals(BigDecimal.valueOf(1.8).setScale(2, RoundingMode.HALF_UP), actual);
assertThat(actual, is(equalTo(BigDecimal.valueOf(1.8).setScale(2, RoundingMode.HALF_UP))));
可以看到
assertThat()
更像是一个英文句子,容易理解。上面这句话断言如果实际值等于给定的期望值。
您可以在 https://www.kloia.com/blog/better-unit-testing-with-hamcrest 上找到一些示例
AssertJ 模块测试常用的
assertThat()
方法——一个开源社区驱动的库,用于在 Java 测试中编写流畅和丰富的断言。