(二)Junit单元测试

来源:互联网 发布:淘宝刷单被发现 编辑:程序博客网 时间:2024/06/06 03:48

二、Hamcrest简介(必须导入hamcrest包)

1.harmcrest可以增强junit的测试能力,用一些相对通俗语言进行测试

要使用Junit的assertThat来进行断言

第一个参数为实际值,第二个参数为harmcrest表达式。

例如:assertTht("test",endsWith("t"));

特别注意:如果是junit4.10,必须将harmcrest架包,移到junit4.10之前。否则allOf会报错。

2. Hamcrest带有一个有用的匹配器库.以下是一些最重要的.

核心

anything - 总是匹配,如果你不关心测试下的对象是什么是有用的

describedAs - 添加一个定制的失败表述装饰器

is - 改进可读性装饰器 - 见下 “Sugar”

逻辑

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 - 测试字符串匹配


3.集成测试所有测试类

//RunWith表示这个类是suite类

RunWith(Suite.class)

//说明这个类包含了哪些测试组件

SuiteClasses({TestA.class,

TestB.class,

TestC.class})

public class TestSuite{

//测试原则:

//1、建议创建一个专门的source folder---test来编写测试类

//2、测试类的包应该与需要测试的类保持一致

//3、测试单元中的每个测试方法都必须可以独立执行,没有顺序,

测试方法之间不能有任何依赖性

}

0 0
原创粉丝点击