测试辅助工具 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://codercto.com/soft/d/19806.html

The Definitive Guide to HTML5 WebSocket

The Definitive Guide to HTML5 WebSocket

Vanessa Wang、Frank Salim、Peter Moskovits / Apress / 2013-3 / USD 26.30

The browser is, hands down, the most popular and ubiquitous deployment platform available to us today: virtually every computer, smartphone, tablet, and just about every other form factor imaginable c......一起来看看 《The Definitive Guide to HTML5 WebSocket》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具