本文为霍格沃兹测试学院学员的课程学习记录,供参考,想进一步深入学习?文末获取入群方式。
Junit 自带原生断言 Assert,常用的一些断言,如 assertTrue、assertEquals、assertNotEquals
等,总体来说都是比较简单的相等语义判断的断言。如果需要断言一个约等于的值或者有个区间波动的值,是否包含某个值等,这个时候 assert
就无法直接满足需求了。这里就需要一个更强大灵活的断言—— Hamcrest 断言
** Hamcrest 断言**
根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。
hamcrest 断言 maven依赖:
hamcrest支持多种语言,这里以 Java 为例:
进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:
官网也对断言进行了分类和说明:
先来看hamcrest断言和原生断言的写法区别,在官方文档中给出了的第一个实例如下:
在Junit4的官方也给出了说明:
可以看到,hamcrest 会统一先使用 assertThat
来声明一个断言,然后再在内部进行具体匹配器的断言细节,期望值和实际值进行对比;有了
hamcrest 断言,就可以直接摒弃原生的断言了~
** Hamcrest 断言实操演示**
Hamcrest断言功能很强大,那么如何 get