Hamcrest断言
根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。
hamcrest 断言 maven依赖:
hamcrest支持多种语言,这里以 Java 为例:
进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:
官网也对断言进行了分类和说明:
先来看hamcrest断言和原生断言的写法区别,在官方文档中给出了的第一个实例如下:
在Junit4的官方也给出了说明:
可以看到,hamcrest 会统一先使用 assertThat 来声明一个断言,然后再在内部进行具体匹配器的断言细节,期望值和实际值进行对比;有了 hamcrest 断言,就可以直接摒弃原生的断言了~
Hamcrest断言功能很强大,那么如何 get 这个功能的正确打开方式呢?接下来用实操演示,带领大家一起来进行实操。毕竟:内化于心,外化于行才是最重要的。
equalTo: 判断相等
在失败时可以看到打印了我的说明:actual value equal to 10 以及失败的对比,<> 表示原始类型closeTo: 接近于多少,给定误差值源码中是这样写的
需要给定两个 double 类型的参数,一个是你要操作的数值,一个是误差范围;另外要注意的是实际值也必须是 double 类型才可以进行对比:
anyOf : 后面可跟上多个匹配器,只要其中任何一个满足条件就通过
allOf : 后面可跟上多个匹配器,只要其中任何一个不满足条件都不通过
另外还有很多常用的匹配器,比如hasItem, hasItems ,contains,等;具体的可以参考官方文档和类库
hamcrest官方文档:
http://hamcrest.org/JavaHamcrest/tutorial
官方GitHub:
https://github.com/junit-team/junit4/wiki/Matchers-and-assertthat
Mvnrepository:
https://mvnrepository.com/artifact/org.hamcrest/hamcrest-core/2.1
更多技术文章
Hamcrest断言相关推荐
- 基于Python语言Hamcrest断言的使用
我们通常熟悉的断言是assert()系列的断言,但有的时候也不能满足我们的需求,所以有了更强大的断言Hamcrest. 一.Hamcrest简介 Hamcrest源于Java,支持多种语言,是用于编写 ...
- APP自动化测试-6.断言处理assert与hamcrest
APP自动化测试-6.断言处理assert与hamcrest 文章目录 APP自动化测试-6.断言处理assert与hamcrest 前言 一.assert断言 二.hamcrest断言 总结 前言 ...
- Hamcrest Matchers教程
本文是我们名为" 用Mockito进行测试 "的学院课程的一部分. 在本课程中,您将深入了解Mockito的魔力. 您将了解有关"模拟","间谍&qu ...
- REST-Assured,接口自动化的 “瑞士军刀“- 断言篇
Hamcrest 是一款用于编写匹配器对象的框架,可以组合创建灵活的匹配器进行断言. 官方网址:http://hamcrest.org/ 可以支持 Java.Python.Ruby.Objective ...
- lambdas_借助Java 8和lambdas,可以一起使用AssertJ和Awaitility
lambdas AssertJ和Awaitility是在自动代码测试中使用的两个我最喜欢的工具. 不幸的是直到最近,还不能一起使用它. 但是随后Java 8进入了游戏,几十行代码足以使其在Awaili ...
- 菜鸟学Java(二十一)——如何更好的进行单元测试——JUnit
测试在软件生命周期中的重要性,不用我多说想必大家也都非常清楚.软件测试有很多分类,从测试的方法上可分为:黑盒测试.白盒测试.静态测试.动态测试等:从软件开发的过程分为:单元测试.集成测试.确认测试.验 ...
- java单元测试总结
java单元测试(使用junit) http://www.cnblogs.com/feiweiwei/archive/2009/06/16/1024623.html JUnit是由 Erich ...
- SpringBoot Test及注解详解(含Mockito)
一.版本差异 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库,在 Spring Boot 2.2.0 版本之前,spring-boot-starter-test ...
- matchers依赖_Hamcrest Matchers教程
matchers依赖 本文是我们名为" 用Mockito测试 "的学院课程的一部分. 在本课程中,您将深入了解Mockito的魔力. 您将了解有关"模拟",&q ...
- lambdas for_借助Java 8和lambdas,可以一起使用AssertJ和Awaitility
lambdas for AssertJ和Awaitility是在自动代码测试中使用的两个我最喜欢的工具. 不幸的是直到最近,还不能一起使用它. 但是随后Java 8进入了游戏,几十行代码足以使其在Aw ...
最新文章
- 轻量级 Kubernetes 发行版 k3s 1.0.0 发布!
- Spring Boot——集成Swagger2
- 手机开启开发模式 hbuilder无法搜索到_MIUI 12这个惊艳功能,其他手机也能一键开启...
- CentOS+tomcat jsp笔记
- HTML怎么让正方形转动,第十讲:html5中canvas实现正方体的动态旋转
- F	 Christmas Game
- MapReduce:通过数据密集型文本处理
- 整合后台服务和驱动代码注入
- 作者:蒋凡(1979-),男,百度外卖研发中心技术委员会主席、主任架构师,中国计算机学会专业会员。...
- 筱筱看博客(uni-app、mumu模拟器、真机测试)
- c语言乘方程序,C语言求幂计算的高效解法
- [CVPR2021]pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis
- 第十一课 for循环(3)---循环变量的变化
- 大恒相机图像采集 linux+python
- 线性代数行列式计算之元素拆分与凑项法
- 第一类第二类斯特林数总结
- 爬虫|wallhere壁纸批量下载
- YDOOK:STM32: F1系列Cortex-M3基础型MCU 介绍
- 如何配置一台支持6块RTX3090静音级深度学习工作站
- BuddyPress创建组、查看成员信息等找不到页面