Testng 简明教程

TestNG - Overview

测试是对应用程序功能进行检查的过程,以确保其按要求工作。单元测试在开发人员级别发挥作用,在这里采取适当的措施来测试每个单独的实体(类或方法),以确保最终产品符合要求。

与任何其他测试框架相比,JUnit 已促使开发人员理解测试(尤其是单元测试)的用处。通过利用相当简单、实用且严格的架构,JUnit 已能够“感染”大量的开发人员。仔细阅读我们关于 JUnit 的教程,以很好地理解它的特性。与此同时,JUnit 也有一些缺点,如下列出 −

  1. 最初设计为仅启用单元测试,现在用于各种测试。

  2. Cannot do dependency testing.

  3. Poor configuration control (setUp/tearDown).

  4. 侵入式(强制你扩展类,并以某种方式命名你的方法)。

  5. 静态编程模型(强迫你无谓地重新编译)。

  6. 在复杂项目中管理不同的测试套件可能非常棘手。

What is TestNG?

根据其文档,对 TestNG 的定义如下 -

TestNG 是受 JUnit 和 NUnit 启发的测试框架,但引入了一些使其更强大且更易于使用的新功能。

TestNG 是一个开源自动化测试框架;其中 NG 表示下一代。TestNG 类似于 JUnit(特别是 JUnit 4),但它不是 JUnit 扩展。它受 JUnit 启发。它的设计目标是比 JUnit 更优秀,尤其是在测试集成类时。TestNG 的创建者是 Cedric Beust。

TestNG 消除了旧框架的大部分限制,使得开发人员能够编写更灵活且功能更强大的测试。由于它大量借用 Java 注解(在 JDK 5.0 中引入)来定义测试,它还可以向您展示如何在真实生产环境中使用 Java 语言的这一新特性。

TestNG Features

  1. Supports annotations.

  2. TestNG 使用更多 Java 和 OO 特性。

  3. 支持测试集成类(例如,默认情况下,不必为每个测试方法都创建一个新的测试类实例)。

  4. 将编译时的测试代码与运行时的配置/数据信息分开。

  5. Flexible runtime configuration.

  6. 引入“测试组”。一旦你编译了你的测试,你可以要求 TestNG 只运行所有的“前端”测试,或者“快速”、“慢速”、“数据库”测试等等。

  7. 支持相关的测试方法、并行测试、负载测试和部分故障。

  8. Flexible plug-in API.

  9. 支持多线程测试。