• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

TestNG使Java单元测试轻而易举

发布: 2010-6-13 13:01 | 作者: 不详 | 来源: 领测国际采编 | 查看: 135次 | 进入软件测试论坛讨论

领测软件测试网

  清单 5. 配置方法示例

@Configuration(beforeTestClass = true, groups = {"tests.workflow"})
public void setUp()
{
System.out.println("Initializing...");
}

@Configuration(afterTestMethod = true, beforeTestMethod = true, groups = {"tests.workflow"})
public void aroundTestMethods()
{

System.out.println("Around Test");
}

  TestNG 中的配置方法是 JUnit 的 setUp() 和 tearDown() 方法的增强版;它们的主要目的是为测试创建正确的执行上下文,并在测试用例执行之后刷新数据。

  异常检测

  使用 TestNG,您可以非常简单、非常容易地检测异常的发生。很明显,用 JUnit 也可以做这件事,但是正如您在清单 6 中的示例中所看到的,使用 TestNG 的 @ExpectedExceptions 标注可以使代码编写惊人地容易和简单。 @ExpectedExceptions 标注指明框架能够容忍抛出的 NumberFormatException 异常,所以不应当被当作是故障。要查看在某行代码中是否抛出异常,您可以直接在这行代码之后加入 assert false 语句。这意味着 只有 在指定行中抛出特定类型的异常的时候,您才会通过测试。

  清单 6. 用 TestNG 进行异常检测

public class NumberUtilsTest
{
@Test(groups = {"tests.math"})
@ExpectedExceptions(NumberFormatException.class)
public void test()
{

NumberUtils.createDouble("12.23.45");
assert false; //shouldn't be invoked
}

}

  结束语

  在本文中,我提供了 TestNG 的快速实用介绍,目的是展示如何开始编写单元测试。但是,它不是一份完整的参考手册。TestNG 还有许多其他非常有用的有趣特性:

  可以向测试方法和配置方法传递参数,可以用标注或在 XML 配置文件中声明参数。

  可以在 TestNG 下用“兼容模式”运行过去运行良好的 Junit 测试。

  可以在测试组之间建立依赖性,决定它们的执行顺序。

  要了解这个框架的所有潜力,有必要参阅 TestNG 的文档(参阅参考资料)。

  所有这些特性,与用于定义测试的 Java 标注一起,使整个测试过程更加简单、更加灵活。编写测试必须遵守的规则 很少;除此之外,您绝对可以自由选择自己喜欢的测试策略。

  在使用 TestNG 时最明显的是,这个模板已经是编写单元测试的一个好选择了,而且,在设计上,它与其他库和工具的集成非常简单,所以它未来的发展会给开发人员带来一些有趣的新东西。

  参考资料

  您可以参阅本文在 developerWorks 全球站点上的英文原文。

  请单本文顶部或底部的 Code 图标下载 j-testng-sample.zip,其中包含本文中讨论的代码。

  在项目的 Web 站点 下载 TestNG。

  运行本文的代码,需要下载 Jakarta Commons Lang 库。

  如果不熟悉 Java 标注,请阅读 Brett McLaughlin 2004 年 9 月份开始在 developerWorks 上发表的由两部分组成的系列文章:

  Tiger 中的注释,第 1 部分: 向 Java 代码中添加元数据

  Tiger 中的注释,第 2 部分: 定制注释

  在 JUnit.org 下载 JUnit。

  Malcolm Davis 撰写的“ 利用 Ant 和 JUnit 进行增量开发 ”(developerWorks,2000 年 11 月)是一篇很好的文章,解释了如何把 JUnit 集成到项目中。

  Eric Allen 和 Roy Miller 在他们各自的专栏 诊断 Java 代码 和 极限编程 中都经常提及到单元测试。

  Testdriven.com 是关于测试驱动开发的文章和资源的全面集合。

  学习更多关于各种 开源测试工具

  学习更多关于“ 使用模仿对象进行单元测试 ”,Alexander Day Chaffee 和 William Pietri (developerWorks,2002 年 11 月)。

  关于 JUnit、单元测试和 TestNG 的大量思想都记录在 Cedric Beust's blog 。

  您是否 test infected ?了解这个术语的意义。

  请访问 Developer Bookstore ,获得技术书籍的完整列表,其中包括数百本 Java 相关主题 的图书。

文章来源于领测软件测试网 https://www.ltesting.net/

66/6<123456

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网