JUnit断言扩大[Java编程]
本文“JUnit断言扩大[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
JUnit 通过制作满意预期需求的断言来测试软件代码单元,但是这些断言只限于基本操作.IBM 软件工程师 Tony Morris 通过引入 JUnit 断言扩大(Assertion Extensions for JUnit)弥补了这个空白,JUnit 断言扩大供应了一整套在 JUnit 框架中履行的复杂断言.下面请随作者的演示一道,理解若何利用这个来自 alphaWorks 的新包来提高 Java 软件的坚固性和结实性.
风行的 JUnit 自动单元测试框架供应了通过制作满意预期需求的断言来测试软件代码单元的途径.但是,这些断言仅范围于基本操作,比方“断言两个变量相等”和“断言引用变量非 null”.基本的 JUnit 断言是有效的,但是它们无法给出在实际的软件单元测试场景中所需求的众多复杂的断言本领.
JUnit 断言扩大(Assertion Extensions for JUnit,JUnitX)是 JUnit 框架的一个扩大包,可以从 alphaWorks(请参阅 参考资料) 下载得到.它供应了很多常见的复杂断言的必要实现.不用为某个断言编写复杂的 JUnit 测试用例,可以调用一个 JUnitX 办法,制作来自同一上下文的断言 —— 并且不需求额外的设置.JUnitX 还声称它的功效与文档描写的一样,并包含了自己的 JUnit 自测套件.这再次保证了 JUnitX 会按照 JUnitX 文档来制作断言;假如某个单元测试失利,便可以知道是软件代码单元失利了,而不是 JUnitX 的测试实现报告了一个假失利.
JUnitX 会有效的一个典型场景包含 java.lang.Object 类的 equals(Object) 办法和 hashCode() 办法设置的合约.在开辟的类中,普通要求服从这些合约.用 JUnit 制作服从合约的断言,就要求开辟复杂的单元测试用例,而这么做很简单出错.相比之下,用 JUnitX 举行断言非常简单,就像成立一个返回类的实例的工厂实现并从单元测试用例中调用 JUnitX 的 assertEqualsContract 和 assertHashCodeContract 办法一样简单.
JUnitX 起步
有效利用 JUnitX 只需求一个最短的学习曲线,假如知道若何直接利用 JUnit 自动测试框架,那么将会发现利用 JUnitX 扩大包很简单.按照以下步骤便可起步:
假如还没有设置好运行 JUnit 测试用例的环境,请先设置好.可以参阅在“Automating the build and test process”中具体介绍的步骤(请参阅 参考资料).
下载 JUnitX 包(请参阅 参考资料),把 JUnitX 文档解压到选定目录.
让履行 JUnit 测试的类装入器可以找到 lib/JUnitx.jar 文件.
目前可以调用 JUnitx.framework.Assert 类上的办法对功效举行断言了,调用的方法与在典型 JUnit 测试环境利用 JUnit.framework.Assert 类的方法近似.JUnitX 的在线 API 文档(请参阅 参考资料)供应了 JUnitx.framework.Assert 类上可以利用的办法调用的具体描写.
用例场景
假定目前要务实现一个代表人的类.Person 类要求有三个属性:title(称谓)、first name(名字)和 surname(姓).title 属性是由大概值 MR、MS 和 MRS 构成的有限调集合的一个值,所以预备用 Typesafe Enumeration(范例安全的列举)计划情势来实现一个 Title 类.图 1 中的 UML 图显示了这些需求目前的状况.
图 1.需求的 UML 图表
清单 1 显示了这些需求的源代码:
以上是“JUnit断言扩大[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:jar打包文件部份注释
- ·下一篇文章:JUnit入门及操纵
- ·中查找“JUnit断言扩大”更多相关内容
- ·中查找“JUnit断言扩大”更多相关内容