学习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("用例开始之后,测试方法解开始运行"); } }