TestNG:一个超越JUnit和NUnit的新测试框架

TestNG是一个源于JUnit和NUnit但有所超越的新测试框架。TestNG引入的一些新功能使自己更强大和易用:

testng

  • 注解。
  • 可以在任意的大线程池中,使用各种策略运行测试(所有方法都可以拥有自己的线程或者每个测试类拥有一个线程等等)。
  • 代码多线程安全测试。
  • 灵活的测试配置。
  • 支持数据驱动测试(@DataProvider)。
  • 支持参数。
  • 强大的执行模型(不再用TestSuite)。
  • 支持各种工具和插件(Eclipse、IDEA、Maven等……)。
  • 可以更灵活地嵌入BeanShell。
  • 默认JDK运行时功能和日志记录(无依赖关系)。
  • 依赖应用服务测试的方式。

TestNG旨在涵盖所有类型测试的,如单元测试、功能测试、端到端测试、集成测试等等……

我开始使用TestNG是出于对一些JUnit缺陷的无奈。我把这些缺陷记录在博客这里。阅读这些条目或许会让你更能体会到我试用TestNG所想达到的目的。你也可以快速浏览一下主要特性概述和一个描述具体示例的文章,示例使用了几种TestNG特性提供更直观和高可维护性的测试设计。

这是一个非常简单的测试:

这个方法setUp()在测试类被创建后,其它任何测试方法运行前被调用。在这个例子中,我们要运行快速组,所以aFastTest()被调用时aSlowTest()则被跳过。

注意事项:

  • 做上述事情不需要扩展类或实现接口。
  • 尽管上面的示例使用JUnit的惯例,但是我们的方法可以叫做任何你喜欢的名字。是注解告诉TestNG它们是什么。
  • 一个测试方法可以属于一个或多个组。

当你编译完你的测试类到build目录,你可以通过命令行运行一个ant的任务或者一个XML文件来调用你的测试:

使用ant去调用:

你可以浏览你的测试的结果:

需求

TestNG需要JDK 7或更高版本。

邮件清单

项目链接

如果你有兴趣为TestNG或者一个IDE的插件做贡献,你可以在这里找到他们:

错误报告

如果你认为你发现一个错误,可以这样报告它:

  • 创建一个小项目,能使我们能够重现这个bug。在大多数情况下,一个或两个Java源文件和testng.xml文件应该足够了。然后你可以压缩后用电子邮件发到 testng-dev mailing-list 或把它放在一个开源的托管网站,如githubGoogle code等,用邮件通知testng-dev让我们知道。请确保这个项目是自我包含这样我们可以马上构建(删除依赖外部或自主框架等……)。
  • 如果你观察到的缺陷在Eclipse插件,确保你的示例项目包含.project.classpath文件。
  • 文件错误

要了解更多信息,你可以下载TestNG,阅读手册 或这浏览的上面的链接.

许可证

官方网站:http://testng.org/
开源地址:https://github.com/cbeust/testng.git

1 收藏

资源整理者简介:superXiaoFan

简介还没来得及写 :) 个人主页 · 贡献了3个资源


直接登录

推荐关注

按分类快速查找

关于资源导航
  • 伯乐在线资源导航收录优秀的工具资源。内容覆盖开发、设计、产品和管理等IT互联网行业相关的领域。目前已经收录 1439 项工具资源。
    推送伯乐头条热点内容微信号:jobbole 分享干货的技术类微信号:iProgrammer