单元测试辅助工具Hamcrest详解
2016-12-27 14:25
190 查看
Hamcrest是一款用以编写matcher对象的框架,以类库的形式发布。一个matcher对象就是一个明确定义的匹配规则。
Hamcrest只适合用于编写Java单元测试,并不适用于UI验证或数据过滤。
使用Hamcrest的步骤如下:
1.静态导入类
import static org.hamcrest.Matchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
说明,其中Matchers类提供了大量用以定义匹配规则的方法。
而assertThat()用以验证测试结果,从而可以不必与具体的测试框架绑定。
2.编写测试用例
...
@Test
public 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类,此处从略。
Hamcrest只适合用于编写Java单元测试,并不适用于UI验证或数据过滤。
使用Hamcrest的步骤如下:
1.静态导入类
import static org.hamcrest.Matchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
说明,其中Matchers类提供了大量用以定义匹配规则的方法。
而assertThat()用以验证测试结果,从而可以不必与具体的测试框架绑定。
2.编写测试用例
...
@Test
public 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类,此处从略。
相关文章推荐
- 在eclipse开发工具中使用JUnit4进行单元测试详解(一)入门篇
- 在eclipse开发工具中使用JUnit4进行单元测试详解(四)常用元数据
- 测试辅助工具 hamcrest
- python实现微信跳一跳辅助工具步骤详解
- Java单元测试工具:JUnit4(二)——JUnit使用详解
- Java单元测试工具:JUnit4(三)——JUnit详解之运行流程及常用注解
- 单元测试辅助工具Hamcrest概述
- Java单元测试工具:JUnit4(二)——JUnit使用详解
- 在eclipse开发工具中使用JUnit4进行单元测试详解(二)提高篇
- Android单元测试——辅助工具介绍
- Java单元测试工具:JUnit4(二)——JUnit使用详解
- Java单元测试工具:JUnit4——JUnit详解之运行流程及常用注解
- Java单元测试工具:JUnit4(三)——JUnit详解之运行流程及常用注解
- 测试辅助工具 hamcrest
- Java单元测试工具:JUnit4(三)——JUnit详解之运行流程及常用注解
- Java单元测试工具:JUnit4(三)——JUnit详解之运行流程及常用注解
- 【JUnit4】JUnit4——Java单元测试必备工具(第1章概述 第2章入门 第3章 JUnit4使用详解 )
- Java单元测试工具:JUnit4(二)——JUnit使用详解
- .net辅助工具列表
- [学习].net辅助工具列表