testng dataprovider注解_TESTNG测试框架介绍

TestNG是什么?

TestNG按照其文档的定义是:

  • TestNG是一个测试框架,其灵感来自JUnit和NUnit的,但引入了一些新的功能,使其功能更强大,使用更方便。
  • TestNG是一个开源自动化测试框架;TestNG表示下一代。 TestNG是类似于JUnit(特别是JUnit 4),但它不是一个JUnit扩展。它的灵感来源于JUnit。它的目的是优于JUnit的,尤其是当测试集成的类。 TestNG的创造者是Cedric Beust(塞德里克•博伊斯特)
  • TestNG消除了大部分的旧框架的限制,使开发人员能够编写更加灵活和强大的测试。 因为它在很大程度上借鉴了Java注解(JDK5.0引入的)来定义的测试,它也可以告诉你如何使用这个新功能在真实的Java语言生产环境中。

TestNG的特点

  • 注解
  • TestNG使用Java和面向对象的功能
  • 支持综合类测试(例如,默认情况下,没有必要创建一个新的测试每个测试方法的类的实例)
  • 独立的编译时间测试代码运行时配置/数据信息
  • 灵活的运行时配置
  • 主要介绍“测试组”。当编译测试,只要问TestNG运行所有的“前端”的测试,或“快”,“慢”,“数据库”等
  • 支持依赖测试方法,并行测试,负载测试,局部故障
  • 灵活的插件API
  • 支持多线程测试

JUnit缺点

  • 最初的设计,使用于单元测试,现在只用于各种测试
  • 不能依赖测试
  • 配置控制欠佳(安装/拆卸)
  • 侵入性(强制扩展类,并以某种方式命名方法)
  • 静态编程模型(不必要的重新编译)
  • 不同的适合管理复杂项目中的测试可以是非常棘手

TestNG注解

注解描述

@BeforeSuite注解的方法将只运行一次,运行所有测试前此套件中。

@AfterSuite注解的方法将只运行一次此套件中的所有测试都运行之后。

@BeforeClass注解的方法将只运行一次先行先试在当前类中的方法调用。

@AfterClass注解的方法将只运行一次后已经运行在当前类中的所有测试方法。

@BeforeTest注解的方法将被运行之前的任何测试方法属于内部类的 标签的运行。

@AfterTest注解的方法将被运行后,所有的测试方法,属于内部类的标签的运行。

@BeforeGroups按组( @Test(groups= “findyou”) )运行时,此注解在组(findyou组)执行之前运行,可做组(findyou组)执行之前,初始化数据准备类工作。

@AfterGroups按组( @Test(groups= “findyou”) )运行时,此注解在组(findyou组)执行之后运行,可做组(findyou)执行之后,数据还原类工作。

@BeforeMethod注解的方法将每个测试方法之前运行。

@AfterMethod被注释的方法将被运行后,每个测试方法。

@DataProvider标志着一个方法,提供数据的一个测试方法。注解的方法必须返回一个Object[] [],其中每个对象[]的测试方法的参数列表中可以分配。该@Test 方法,希望从这个DataProvider的接收数据,需要使用一个dataProvider名称等于这个注解的名字。

@Factory作为一个工厂,返回TestNG的测试类的对象将被用于标记的方法。该方法必须返回Object[]。

@Listeners定义一个测试类的监听器。

@Parameters介绍如何将参数传递给@Test方法。

@Test标记一个类或方法作为测试的一部分。

package example1; import org.testng.annotations.*; public class SimpleTest {  @BeforeClass public void setUp() { // code that will be invoked when this test is instantiated }  @Test(groups = { "fast" }) public void aFastTest() { System.out.println("Fast test"); }  @Test(groups = { "slow" }) public void aSlowTest() { System.out.println("Slow test"); } }

运行结果

test:

[testng] Fast test

[testng] ===============================================

[testng] Suite for Command line test

[testng] Total tests run: 1, Failures: 0, Skips: 0

[testng] ===============================================

BUILD SUCCESSFUL

Total time: 4 seconds

f6fcfdc4-f930-44b9-8f79-cd981ac859c1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值