TestNG - 概述



测试是检查应用程序功能以确保其按要求工作的过程。单元测试在开发者层面发挥作用,其中采取了充分的措施来测试每一个单一实体(类或方法),以确保最终产品满足要求。

与任何其他测试框架相比,JUnit 已促使开发人员了解测试(尤其是单元测试)的实用性。JUnit 凭借其相当简单、务实和严格的架构,能够“影响”大量的开发人员。请查看我们关于 JUnit 的教程,以更好地了解其功能。同时,JUnit 也有一些缺点,如下所示:

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

  • 无法进行依赖性测试。

  • 配置控制较差(setUp/tearDown)。

  • 侵入式(强制您扩展类并以特定方式命名您的方法)。

  • 静态编程模型(强制您不必要地重新编译)。

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

什么是 TestNG?

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

TestNG 是一个从 JUnit 和 NUnit 中汲取灵感的测试框架,但引入了一些使其更强大且更易于使用的新功能。

TestNG 是一个开源的自动化测试框架;其中NG代表NextGeneration(下一代)。TestNG 类似于 JUnit(尤其是 JUnit 4),但它不是 JUnit 的扩展。它受到了 JUnit 的启发。它旨在比 JUnit 更好,尤其是在测试集成类时。TestNG 的创建者是Cedric Beust

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

TestNG 特性

  • 支持注解。

  • TestNG 使用更多 Java 和面向对象特性。

  • 支持测试集成类(例如,默认情况下,无需为每个测试方法创建一个新的测试类实例)。

  • 将编译时测试代码与运行时配置/数据信息分离。

  • 灵活的运行时配置。

  • 引入了“测试组”。编译完测试后,您可以只要求 TestNG 运行所有“前端”测试,或“快速”、“慢速”、“数据库”测试等。

  • 支持依赖测试方法、并行测试、负载测试和部分失败。

  • 灵活的插件 API。

  • 支持多线程测试。

广告