TestNG - 概述


测试是检查应用程序功能以确保其按要求工作的过程。单元测试出现在开发人员级别,其中采取适当的措施来测试每个实体(类或方法),以确保最终产品满足要求。

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

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

  • 无法进行依赖性测试。

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

  • 侵入性(迫使您扩展类并以某种方式命名您的方法)。

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

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

什么是 TestNG?

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

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

TestNG是一个开源的自动化测试框架;其中NG表示下一代G。 _ _ TestNG 类似于 JUnit(尤其是 JUnit 4),但它不是 JUnit 扩展。它的灵感来自于 JUnit。它被设计为比 JUnit 更好,特别是在测试集成类时。TestNG 的创建者是Cedric Beust

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

测试NG特点

  • 支持注释。

  • TestNG 使用更多 Java 和 OO 功能。

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

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

  • 灵活的运行时配置。

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

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

  • 灵活的插件API。

  • 支持多线程测试。