概述
测试是检查应用程序功能以确保其按要求运行的过程。 在开发人员级别进行单元测试,采取适当的措施来测试每个实体(类或方法),以确保最终产品满足要求。
与任何其他测试框架相比,JUnit促使开发人员了解测试的有用性,尤其是单元测试的有用性。 利用相当简单,实用和严格的架构,JUnit能够“感染”大量开发人员。 请查看我们的JUnit教程,以便对其功能有一个很好的理解。 JUnit同时也有一些缺点,如下所示 -
最初设计仅用于单元测试,现在用于各种测试。
不能做依赖性测试。
配置控制不佳(setUp/tearDown)。
侵入(迫使你扩展类并以某种方式命名你的方法)。
静态编程模型(强制您不必要地重新编译)。
在复杂项目中管理不同的测试套件可能非常棘手。
什么是TestNG?
根据其文件定义TestNG如下 -
TestNG is a testing framework inspired from JUnit and NUnit, but introducing some new functionalities that make it more powerful and easier to use.
TestNG是一个开源的自动化测试框架; NG表示N ext G eneration。 TestNG类似于JUnit(尤其是JUnit 4),但它不是JUnit扩展。 它的灵感来自JUnit。 它的设计优于JUnit,尤其是在测试集成类时。 TestNG的创建者是Cedric Beust 。
TestNG消除了旧框架的大部分限制,使开发人员能够编写更灵活,更强大的测试。 由于它大量借鉴Java Annotations(随JDK 5.0引入)来定义测试,它还可以向您展示如何在真实的生产环境中使用Java语言的这一新功能。
TestNG功能
支持注释。
TestNG使用更多Java和OO功能。
支持测试集成类(例如,默认情况下,不需要为每个测试方法创建新的测试类实例)。
将编译时测试代码与运行时配置/数据信息分开。
灵活的运行时配置
介绍'测试组'。 编译完测试后,可以让TestNG运行所有“前端”测试,或“快速”,“慢速”,“数据库”测试等。
支持相关测试方法,并行测试,负载测试和部分故障。
灵活的插件API。
支持多线程测试。