TestNG教程
精华
小牛编辑
228浏览
2023-03-14
测试是检查应用程序的功能的过程是否按要求工作,在开发人员层面进行单元测试,在采取适当措施来测试每一个实体(类或方法)以确保最终产品符合要求。单元测试是非常必要的,这是软件公司向他们的客户提供高质量的软件产品必要前提。
JUnit让开发人员了解测试的实用性,尤其是在单元测试这一模块上比任何其他测试框架都要简单明了。凭借一个相当简单,务实,严谨的架构,JUnit已经能够“感染”了一大批开发人员。 有关JUnit的特点,可以看看Junit教程了解。
JUnit缺点:
- 最初的设计,使用于单元测试,现在只用于各种测试。
- 不能依赖测试
- 配置控制欠佳(安装/拆卸)
- 侵入性(强制扩展类,并以某种方式命名方法)
- 静态编程模型(不必要的重新编译)
- 不适合管理复杂项目应用,JUnit复杂项目中测试非常棘手。
TestNG是什么?
TestNG按照官方的定义:
TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便。
TestNG是一个开源自动化测试框架;TestNG表示下一代(Next Generation的首字母)。 TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展。它的灵感来源于JUnit。它的目的是优于JUnit,尤其是在用于测试集成多类时。 TestNG的创始人是Cedric Beust(塞德里克·博伊斯特)。
TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试。 因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义测试,它也可以显示如何使用这个新功能在真实的Java语言生产环境中。
TestNG的特点
- 注解
- TestNG使用Java和面向对象的功能
- 支持综合类测试(例如,默认情况下,不用创建一个新的测试每个测试方法的类的实例)
- 独立的编译时测试代码和运行时配置/数据信息
- 灵活的运行时配置
- 主要介绍“测试组”。当编译测试,只要要求
TestNG
运行所有的“前端”的测试,或“快”,“慢”,“数据库”等 - 支持依赖测试方法,并行测试,负载测试,局部故障
- 灵活的插件API
- 支持多线程测试
TestNG(Next Generation)是一个测试框架,它受到JUnit和NUnit的启发,而引入了许多新的创新功能,如依赖测试,分组概念,使测试更强大,更容易做到。 它旨在涵盖所有类别的测试:单元,功能,端到端,集成等…
TestNG教程目录
- TestNG Hello World示例 - 开始使用TestNG,创建一个简单的测试用例以及如何执行它。
- TestNG配置注释 - 此示例演示TestNG中支持的配置注释列表。
- TestNG预期异常测试 - 这个例子演示了如何做异常测试 - @Test(expectedExceptions =?)。
- TestNG忽略测试 - 此示例演示如何启用和禁用测试方法 -
@Test(enabled = true)
。 - TestNG超时测试 - 确保测试方法必须在指定时间内完成 -
@Test(timeOut = 5000)
。 - TestNG分组测试 - 此示例演示如何进行组测试 -
@Test(groups =?)
,@Test(dependsOnGroups??)
。 - TestNG套件测试 - 此示例演示如何使用
testng.xml
运行多个测试类。 - TestNG依赖性测试 - 此示例演示如何使用
dependOnMethods
和dependsOnGroups
来实现依赖性测试。 - TestNG参数测试(XML和DataProvider) - 此示例演示如何使用XML或@DataProvider将参数传递到测试方法中。
- TestNG参数测试(DataProvider) - 另一个@DataProvider示例。
- TestNG + Selenium - 负载测试 - 此示例演示如何使用Selenium在网站上执行负载测试。
- TestNG + Spring集成示例 - 此示例演示如何使用TestNG测试Spring组件。
- JUnit 4 Vs TestNG比较 - JUnit 4和TestNG之间详细功能的比较。