TestNg第一天:testNg的简单介绍

TestNg介绍

是一框架,选择testNg的原因如下:
  • 注解可以帮助我们来组织使测试更容易
  • 灵活的测试配置
  • 测试例可以更容易地进行分组
  • 可以使用TestNG实现测试并行
  • 支持数据驱动测试
首先看一看TestNg的注解
  • @BeforeSuite: 被注解的方法将只在这个套件中的所有测试运行之前运行一次。

  • @AfterSuite: 被注解的方法将只在这个套件中的所有测试都运行后,运行一次。

  • @BeforeClass : 带注解的方法将只调用在当前类中的第一测试方法之前运行一次。

  • @AfterClass : 带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次。

  • @BeforeTest : 属于类<测试>中的任何测试方法标记运行之前被注解的方法将被运行。

  • @AfterTest : 被注解的方法都将属于该类别的<测试>标签内的测试方法运行后运行。

  • @BeforeGroups : 这种配置方法,将之前运行的组的列表。此方法是保证属于任何这些基团的被调用的第一测试方法之前短暂运行

  • @AfterGroups : 这种配置方法,将后运行的组的列表。这个方法保证了属于任何这些基团的被调用的最后一个测试方法之后不久运行。

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

  • @AfterMethod : 被注解的方法将每个测试方法之后运行

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

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

  • @Listeners : 定义了一个测试类监听器。

  • @Parameters : 介绍了如何将参数传递到一个方法@Test。

  • @Test : 标志着一个类或方法作为测试的一部分。

代码举例
package com.testNg.meituan;
/**
 * Created by hejian on 16/9/9.
 */
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.AfterSuite;
public class TestNgAnnation {
    // test case 1

    @Test
    //第五:先运行此测试方法,标志着一个类或方法作为测试的一部分
    public void testCase1() {
        System.out.println("//第五:先运行此测试方法,in test case 1");
    }
    // test case 2
    @Test
    public void testCase2() {
        System.out.println("in test case 2");
    }
    @BeforeMethod
    //第四:注解的方法将每个测试方法之前运行
    public void beforeMethod() {
        System.out.println("第四:注解的方法将每个测试方法之前运行,in beforeMethod");
    }
    @AfterMethod
    //第六:被注解的方法将每个测试方法之后运行
    public void afterMethod() {
        System.out.println("第六:被注解的方法将每个测试方法之后运行,即testCase1运行后,运行此方法,in afterMethod");
    }
    @BeforeClass
    //第三:只调用在当前类中的第一测试方法之前运行一次
    public void beforeClass() {
        System.out.println("第三:此方法被调用,in beforeClass");
    }
    @AfterClass
    //第八:带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次。
    public void afterClass() {
        System.out.println("第八:in afterClass");
    }
    @BeforeTest
    //第二:任何测试方法标记运行之前被注解的方法将被运行
    public void beforeTest() {
        System.out.println("第二步:此方法是被运行");
    }
    @AfterTest
    //第九:带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次
    public void afterTest() {
        System.out.println("第九:带注解的方法将仅在当前类中的所有的测试方法已经被执行之后运行一次,in afterTest");
    }
    @BeforeSuite
    //第一:在这个套件中的所有测试运行之前运行一次
    public void beforeSuite() {
        System.out.println("第一步:" + "这个方法首先运行");
    }
    @AfterSuite
    //第十:注解的方法将只在这个套件中的所有测试都运行后,运行一次
    public void afterSuite() {
        System.out.println("第十步:注解的方法将只在这个套件中的所有测试都运行后,运行一次,in afterSuite");
    }
}

注:上述的带beforeMethod注解的方法及带afterMethod注解的方法运行了两次,因有两个@test的测试方法:testCase1,testCase2

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值