当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • JBuilder 2005单元测试之JUnit框架
  • 追求代码质量 - JUnit 4与TestNG的对比
  • 追求代码质量 - 用JUnitPerf举行性能测试
  • <b>Java开源测试工具JUnit简介</b>
  • JUnit 4.0体验
  • JUnit 4.4新特点
  • 用JUnit框架实现Java单元测试
  • JUNIT教程
  • JUnit入门及操纵
  • JUnit断言扩大
  • 操纵Ant+JUnit+Cobertura来实现代码覆盖自动测试
  • 操纵ant编译、运行junit以及查抄编码
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .