TestNG – Java 开源测试工具
测试是检查应用程序功能以确保其按要求工作。单元测试在开发人员级别出现,在该级别采取适当措施来测试每个实体(类或方法),以确保最终产品满足要求。
与任何其他测试框架相比,JUnit 已促使开发人员了解测试(尤其是单元测试)的有用性。JUnit 利用相当简单、实用和严格的架构,已经能够“感染”大量的开发人员。请查看我们关于 JUnit 的教程,以全面了解其功能。同时,JUnit 也存在一些缺点,如下所示:
最初仅设计用于启用单元测试,现在用于各种测试。
无法进行依赖性测试。
配置控制较差(setUp/tearDown)。
侵入性(强制您扩展类并以某种方式命名您的方法)。
静态编程模型(强制您不必要地重新编译)。
在复杂项目中管理不同的测试套件可能非常棘手。
什么是 TestNG
根据 TestNG 文档的定义如下:
TestNG 是一个受 JUnit 和 NUnit 启发的测试框架,但引入了一些新功能,使其功能更强大且更易于使用。
TestNG 是一个开源的自动化测试框架,其中 NG 表示下一代。TestNG 类似于 JUnit(尤其是 JUnit 4),但它不是 JUnit 的扩展。它受到 JUnit 的启发。它旨在优于 JUnit,尤其是在测试集成类时。TestNG 的创建者是 Cedric Beust。
TestNG 消除了旧框架的大多数限制,使开发人员能够编写更灵活、更强大的测试。由于它大量借鉴了 Java 注解(随 JDK 5.0 引入)来定义测试,因此它还可以向您展示如何在真实的生产环境中使用 Java 语言的这一新功能。
TestNG 特性
支持注解。
TestNG 使用更多 Java 和面向对象特性。
支持测试集成类(例如,默认情况下,无需为每个测试方法创建新的测试类实例)。
将编译时测试代码与运行时配置/数据信息分离。
灵活的运行时配置。
引入了“测试组”。编译完测试后,您可以要求 TestNG 运行所有“前端”测试,或“快速”、“慢速”、“数据库”测试等。
支持依赖测试方法、并行测试、负载测试和部分故障。
灵活的插件 API。
支持多线程测试。
系统要求
TestNG 是一个 Java 框架,因此第一个要求是在您的机器上安装 JDK。
JDK |
1.7 或更高版本。 |
---|---|
内存 |
无最低要求。 |
磁盘空间 |
无最低要求。 |
操作系统 |
无最低要求。 |