学习testng配置类型注解:

 

 

套件注解:

@BeforeSuite:用例执行之前运行          相当于unittest里面的setup和teardown

@AfterSuite:用例之后运行

如图运行结果:

其他3个注解的运行顺序也和上面的差不多。

下面来看4个注解同时运行的情况:

由此可见以下运行顺序,

用例开始之前:测试套件注解最新运行,套件注解>测试集注解>测试类注解>测试方法注解

用例开始之后:测试方法注解最新运行,套件注解<测试集注解<测试类注解<测试方法注解

测试代码如下:

package com.mg.java.maven.day06;

import org.testng.Assert;
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class Tester2 {

    @BeforeSuite
    public void beforeSuite() {
        System.out.println("用例开始之前,套件注解运行");
    }

    @BeforeTest
    public void beforeTest() {
        System.out.println("用例开始之前,测试集注解开始运行");
    }

    @BeforeClass
    public void beforeClass() {
        System.out.println("用例开始之前,测试类注解开始运行");
    }

    @BeforeMethod
    public void beforeMethod() {
        System.out.println("用例开始之前,测试方法解开始运行");
    }

    @Test
    public void test2() {
        Calculator calculator = new Calculator();
        double actual = calculator.add(3, 3);
        double expected = 7;
        Assert.assertNotEquals(actual, expected);
    }

    @AfterSuite
    public void afterSuite() {
        System.out.println("用例结束之后,套件注解运行");
    }

    @AfterTest
    public void afterTest() {
        System.out.println("用例开始之后,测试集注解开始运行");
    }

    @AfterClass
    public void afterClass() {
        System.out.println("用例开始之后,测试类注解开始运行");
    }

    @AfterMethod
    public void afterMethod() {
        System.out.println("用例开始之后,测试方法解开始运行");
    }
}