TestNG教程
测试是检查应用程序的功能的过程是否按要求工作,在开发人员层面进行单元测试,在采取适当措施来测试每一个实体(类或方法)以确保最终产品符合要求。单元测试是非常必要的,这是软件公司向他们的客户提供高质量的软件产品必要前提。
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之间详细功能的比较。
猿狮妹
2022-08-06
TestNG教程
在线教程
猿狮院
热门教程
1 TestNG教程
TestNG 是一个测试 Java 应用程序的新框架。TestNG 不仅确实强大、创新、可扩展、灵活。TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器)。
2 TestNG + Selenium负载测试
在本教程中,我们将演示如何使用@Test属性invocationCount和threadPoolSize在网站上执行负载测试或压力测试。
使用的工具 :
TestNG 6.8.7Selenium 2.39.0Maven 3
我
3 TestNG Hello World入门示例
作为一个经典的入门例子,这里展示如何开始使用TestNG单元测试框架。
使用的工具 :
TestNG 6.8.7Maven 3Eclipse IDE
TestNG下载并安装从这里 http://testng.org/d
4 TestNG基本注解
在JUnit 3中用于指示测试方法的传统方式是将其名称加上前缀。 这是一个非常有效的方法,用于将类中的某些方法标记为具有特殊意义,但是命名不能很
5 TestNG配置注解实例
在TestNG中,我们可以使用以下注释来执行测试类的配置,如设置/清理数据库,准备虚拟数据,部署/关闭服务器等。
@BeforeSuite - 对于套件测试,在此
6 TestNG预期异常测试
在本教程中,我们将演示如何使用TestNG expectedExceptions来测试代码中的预期异常抛出。
创建一个名称为 ExpectedExceptionTest 的 Maven 工程,其结构如下所示 -
7 TestNG忽略测试
有时,我们编写的代码并没有准备就绪,并且测试用例要测试该方法/代码是否失败(或成功)。 在本示例中,注释@Test(enabled = false)有助于禁用此测试用例
8 TestNG超时测试
在本教程中,我们将演示如何在TestNG中执行超时测试。 “超时”表示如果单元测试花费的时间超过指定的毫秒数,那么TestNG将会中止它并将其标记为失
9 TestNG分组测试
分组测试是TestNG中的一个新的创新功能,它在JUnit框架中是不存在的。 它允许您将方法调度到适当的部分,并执行复杂的测试方法分组。 您不仅可以声
10 TestNG套件测试
测试套件是用于测试软件程序的行为或一组行为的测试用例的集合。 在TestNG中,我们无法在测试源代码中定义一个套件,但它可以由一个XML文件表示,