hamcrest使用教程-junit单元测试

2015-09-05|来源:

hamcrest可以有效增加junit的测试能力,用一些相对通俗的语言来进行测试

要使用junit中的assertThat来进行断言

第一个参数表示实际值,第二个参数表示hamcrest的表达式

@Test
public void testHamcrest() {
    //首先需要静态导入import static org.hamcrest.Matchers.*;
    //判断50是否大于20并且小于60,具体的hamcrest的比较参数可以在文档中查询
    assertThat(50,allOf(greaterThan(20),lessThan(60)));
    //判断某个字符串是否以另一个字符串结尾
    assertThat("abc.txt",endsWith("txt"));
}


特别注意:如果使用junit4.10,必须把hamcrest的jar包移到junit的jar之前,否则,组合条件allOf,anyOf都会抛出异常


常用的比较方式

逻辑

 allOf - 如果所有匹配器都匹配才匹配, short circuits (很难懂的一个词,意译是短路,感觉不对,就没有翻译)(像 Java &&)

 anyOf - 如果任何匹配器匹配就匹配, short circuits (像 Java ||)

 not - 如果包装的匹配器不匹配器时匹配,反之亦然

对象

 equalTo - 测试对象相等使用Object.equals方法

 hasToString - 测试Object.toString方法

 instanceOf, isCompatibleType - 测试类型

 notNullValue, nullValue - 测试null

 sameInstance - 测试对象实例

 Beans

 hasProperty - 测试JavaBeans属性

集合

 array - 测试一个数组元素test an array’s elements against an array of matchers

 hasEntry, hasKey, hasValue - 测试一个Map包含一个实体,键或者值

 hasItem, hasItems - 测试一个集合包含一个元素

 hasItemInArray - 测试一个数组包含一个元素

数字

 closeTo - 测试浮点值接近给定的值

 greaterThan, greaterThanOrEqualTo, lessThan, lessThanOrEqualTo - 测试次序

文本

 equalToIgnoringCase - 测试字符串相等忽略大小写

 equalToIgnoringWhiteSpace - 测试字符串忽略空白

 containsString, endsWith, startsWith - 测试字符串匹配


本文转自网络


相关问答

更多

如何使用junit4写单元测试用例

JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。 先 简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以 用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和public描述这个数据是公 有的一样。想具体了解可以看Core Java2。废话不多说了,直接进入正题。 我们 ...

java测试工具及教程

测试看你是什么类型的测试 单元测试:Junit或TestNG Web测试:WatiJ、Selenium2.0 功能测试及压力测试:Jmeter、LoadRunner Bug管理:TestDirector

java spring项目的controller层的代码怎么用junit写单元测试用例

Spring项目controller 是依赖springmvc的 直接启动测试,是没有初始化spring容器(web.xml中初始化)的 如果是dao层 service层的测试可以用单元测试,controller层建议还是 启动web项目吧 补充一下Java WEB开发基础知识

Spring Boot中使用Test单元测试报错javax.websocket.server.ServerContainer not available。

那说明单元测试里面没有包含servercontainer吧,单元测试加载的东西没有项目正规启动以后那么多,需要仔细检查如何在单元测试中加载servercontainer。

Junit是什么??java的单元测试??java的单元测试是干什么的??单元测试是干什么的??

单元测试:是针对一个独立的工作单元进行正确性验证的测试。有时也被称为程序员测试,以同QA测试、客户测试相区分。 java的单元测试:在Java程序中,一个工作单元通常是指一个方法,那么也就是对一个方法进行测试。 JUnit:是一个单元测试框架,方便程序员进行单元测试代码的编写。

专题教程

JAVA概述
第一部分:java入门基础
第二部分:java常用类
第三部分:jdbc系列教程
第四部分:java高级特征
Gson教程
快速了解 jdk8 新特征

相关文章

更多

最近更新

更多