根据项目对象模型(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断言相关推荐

  1. 基于Python语言Hamcrest断言的使用

    我们通常熟悉的断言是assert()系列的断言,但有的时候也不能满足我们的需求,所以有了更强大的断言Hamcrest. 一.Hamcrest简介 Hamcrest源于Java,支持多种语言,是用于编写 ...

  2. APP自动化测试-6.断言处理assert与hamcrest

    APP自动化测试-6.断言处理assert与hamcrest 文章目录 APP自动化测试-6.断言处理assert与hamcrest 前言 一.assert断言 二.hamcrest断言 总结 前言 ...

  3. Hamcrest Matchers教程

    本文是我们名为" 用Mockito进行测试 "的学院课程的一部分. 在本课程中,您将深入了解Mockito的魔力. 您将了解有关"模拟","间谍&qu ...

  4. REST-Assured,接口自动化的 “瑞士军刀“- 断言篇

    Hamcrest 是一款用于编写匹配器对象的框架,可以组合创建灵活的匹配器进行断言. 官方网址:http://hamcrest.org/ 可以支持 Java.Python.Ruby.Objective ...

  5. lambdas_借助Java 8和lambdas,可以一起使用AssertJ和Awaitility

    lambdas AssertJ和Awaitility是在自动代码测试中使用的两个我最喜欢的工具. 不幸的是直到最近,还不能一起使用它. 但是随后Java 8进入了游戏,几十行代码足以使其在Awaili ...

  6. 菜鸟学Java(二十一)——如何更好的进行单元测试——JUnit

    测试在软件生命周期中的重要性,不用我多说想必大家也都非常清楚.软件测试有很多分类,从测试的方法上可分为:黑盒测试.白盒测试.静态测试.动态测试等:从软件开发的过程分为:单元测试.集成测试.确认测试.验 ...

  7. java单元测试总结

    java单元测试(使用junit) http://www.cnblogs.com/feiweiwei/archive/2009/06/16/1024623.html     JUnit是由 Erich ...

  8. SpringBoot Test及注解详解(含Mockito)

    一.版本差异 Spring Boot 2.2.0 版本开始引入 JUnit 5 作为单元测试默认库,在 Spring Boot 2.2.0 版本之前,spring-boot-starter-test ...

  9. matchers依赖_Hamcrest Matchers教程

    matchers依赖 本文是我们名为" 用Mockito测试 "的学院课程的一部分. 在本课程中,您将深入了解Mockito的魔力. 您将了解有关"模拟",&q ...

  10. lambdas for_借助Java 8和lambdas,可以一起使用AssertJ和Awaitility

    lambdas for AssertJ和Awaitility是在自动代码测试中使用的两个我最喜欢的工具. 不幸的是直到最近,还不能一起使用它. 但是随后Java 8进入了游戏,几十行代码足以使其在Aw ...

最新文章

  1. 轻量级 Kubernetes 发行版 k3s 1.0.0 发布!
  2. Spring Boot——集成Swagger2
  3. 手机开启开发模式 hbuilder无法搜索到_MIUI 12这个惊艳功能,其他手机也能一键开启...
  4. CentOS+tomcat jsp笔记
  5. HTML怎么让正方形转动,第十讲:html5中canvas实现正方体的动态旋转
  6. F Christmas Game
  7. MapReduce:通过数据密集型文本处理
  8. 整合后台服务和驱动代码注入
  9. 作者:蒋凡(1979-),男,百度外卖研发中心技术委员会主席、主任架构师,中国计算机学会专业会员。...
  10. 筱筱看博客(uni-app、mumu模拟器、真机测试)
  11. c语言乘方程序,C语言求幂计算的高效解法
  12. [CVPR2021]pi-GAN: Periodic Implicit Generative Adversarial Networks for 3D-Aware Image Synthesis
  13. 第十一课 for循环(3)---循环变量的变化
  14. 大恒相机图像采集 linux+python
  15. 线性代数行列式计算之元素拆分与凑项法
  16. 第一类第二类斯特林数总结
  17. 爬虫|wallhere壁纸批量下载
  18. YDOOK:STM32: F1系列Cortex-M3基础型MCU 介绍
  19. 如何配置一台支持6块RTX3090静音级深度学习工作站
  20. BuddyPress创建组、查看成员信息等找不到页面

热门文章

  1. 局域网即时通讯软件_远程桌面监控软件好不好用?哪个好?
  2. 信用证,保理,支付宝的模式和区别
  3. Armv6 Armv7
  4. windows11iis如何安装?
  5. 如何在VS2013中配置一个DirectX开发环境
  6. java管理系统类似的_开发类似安居客OA系统管理平台
  7. 计算机360u盘删除,如何删除U盘在电脑中的使用痕迹
  8. 网页设计常用色彩搭配表
  9. 芝麻开门-如何解决电脑PIN码忘记了不能登录问题
  10. 《水经注地图发布服务中间件》for Linux 版发布