测试辅助工具 hamcrest

码农软件 · 软件分类 · 测试工具 · 2019-11-26 06:28:22

软件介绍

Hamcrest是一个书写匹配器对象时允许直接定义匹配规则的框架.有大量的匹配器是侵入式的,例如UI验证或者数据过滤,但是匹配对象在书写灵活的测试是最常用.本教程将告诉你如何使用Hamcrest进行单元测试.

Hamcrest从一开始就设计结合不同的单元测试框架.例如,Hamcrest可以使用JUnit3和4TestNG.(详细查看完整Hamcrest发布中的例子).在一个现有的测试套件中迁移到使用Hamcrest风格的断言是很容易的,因为其他断言风格可以和Hamcrest的共存.

通过使用从mock Objects框架概念匹配器到Hamcrest匹配器桥接适配器Hamcrest也可以在mock objects框架中.例如,JMock 1系统规定是Hamcrest风格.Hamcrest提供了一个JMock 1适配器来允许你在JMock 1测试中使用Hamcrest匹配器.JMock 2不需要这样一个适配器层,因为它被设计使用Hamcrest作为一个匹配库.Hamcrest还提供了EasyMock 2适配器.同样,详细查看Hamcrest例子.

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

本文地址:https://www.codercto.com/soft/d/19806.html

Algorithms + Data Structures = Programs

Algorithms + Data Structures = Programs

Niklaus Wirth / Prentice Hall / 1975-11-11 / GBP 84.95

It might seem completely dated with all its examples written in the now outmoded Pascal programming language (well, unless you are one of those Delphi zealot trying to resist to the Java/.NET dominanc......一起来看看 《Algorithms + Data Structures = Programs》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试