博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单元测试辅助工具Hamcrest详解
阅读量:4179 次
发布时间:2019-05-26

本文共 1094 字,大约阅读时间需要 3 分钟。

Hamcrest是一款用以编写matcher对象的框架,以类库的形式发布。一个matcher对象就是一个明确定义的匹配规则。

Hamcrest只适合用于编写Java单元测试,并不适用于UI验证或数据过滤。

使用Hamcrest的步骤如下:

1.静态导入类

import static org.hamcrest.Matchers.*;import static org.hamcrest.MatcherAssert.assertThat;
说明,其中Matchers类提供了大量用以定义匹配规则的方法。

而assertThat()用以验证测试结果,从而可以不必与具体的测试框架绑定。

2.编写测试用例

...@Testpublic void oneTest(){  Biscuit thisBiscuit = new Biscuit("Ginger");  Biscuit thatBiscuit = new Biscuit("Ginger");  assertThat(thisBiscuit, eq(thatBiscuit));}
注意这里assertThat()的用法。

如果在一个测试用例中有多个assertThat(),还可以为每个assertThat()起一个唯一的名,示例如下:

...assertThat("name1", thisBiscuit, eq(thatBiscuit));assertThat("name2", thisBiscuit, eq(thatBiscuit));...
补充:常用的Matchers方法

  • anything()
  • is(),只为提高测试代码的可读性,没有实际意义
  • allOf()
  • anyOf()
  • not()
  • eq()
  • instanceOf()
  • sameInstance()
  • isCompatbleType()
  • notNullValue()
  • nullValue()
  • hasProperty()
  • array()
  • hasKey()
  • hasValue()
  • hasEntry()
  • hasItem()
  • closeTo()
  • greaterThan()
  • greaterThanOrEqualTo()
  • lessThan()
  • lessThanOrEqualTo()
  • equalToIgnoringCase()
  • equalToIgnoringWhiteSpace()
  • containsString()
  • endsWith()
  • startsWith()

除了Hamcrest提供的标准Matchers类,测试开发人员还可以定制扩展自己的Matchers类,此处从略。

转载地址:http://xtlai.baihongyu.com/

你可能感兴趣的文章
Java复制文件的4种方式
查看>>
datatables对某列进行求和
查看>>
记录切换openjdk遇到的一个坑
查看>>
Lombok---@EqualsAndHashCode(callSuper = true)的使用
查看>>
Java实体映射工具 MapStruct的简单应用
查看>>
IDEA中的Git操作
查看>>
sharding-jdbc配置主从数据库
查看>>
请求https跳过证书认证
查看>>
JDBC多线程插入大量数据.md
查看>>
MYSQL查看数据库相关信息
查看>>
JAVA多线程插入MYSQL数据库
查看>>
记录ajax 发送json数据时引发的问题
查看>>
Chrome在Win下的跨域解决方案
查看>>
SpringBoot 快速下载最新的版本依赖
查看>>
Maven-dependencyManagement的使用
查看>>
springcloud 配置 spring.cloud.config.uri 无效
查看>>
第七篇: 分布式配置中心(Greenwich版)
查看>>
.properties文件 git 提交后中文字符会乱码
查看>>
第八篇: Spring Cloud Bus(Hoxton版本)
查看>>
sqlserver出现文件组‘PRIMARY‘已满
查看>>