TestNG注解的生命周期
注解 | 描述 |
---|
@BeforeSuite | 在该套件的所有测试运行之前运行,仅运行一次 |
@AfterSuite | 在该套件的所有测试运行之后运行,仅运行一次 |
@BeforeTest | 注释的方法将在属于test标签内的所有类的所有测试方法运行之前运行,一个test标签内可能有多个class(类),在当前test标签内仅运行一次 |
@AfterTest | 注释的方法将在属于test标签内的所有类的所有测试方法运行之后运行,一个test标签内可能有多个class(类),在当前test标签内仅运行一次 |
@BeforeClass | 在调用当前类的第一个测试方法之前运行,在当前类中仅运行一次 |
@AfterClass | 在调用当前类的第一个测试方法之后运行,在当前类中仅运行一次 |
@BeforeGroups | 配置方法将在组列表运行之前运行。 此方法保证在调用属于这些组中的任何第一个测试方法之前不久运行 |
@AfterGroups | 此配置方法将在组列表运行之后运行。该方法保证在调用属于这些组的任何最后一个测试方法之后不久运行 |
@BeforeMethod | 注释方法将在当前类中的每个测试方法之前运行 |
@AfterMethod | 注释方法将在当前类中的每个测试方法之后运行 |
@Parameters | 描述如何将参数传递给@Test方法 |
@DataProvider | 标记一种方法来提供测试方法的数据。 注释方法必须返回一个Object [] [],其中每个Object []可以被分配给测试方法的参数列表。 要从该DataProvider接收数据的@Test方法需要使用与此注释名称相等的dataProvider名称 |
@Listeners | 定义测试类上的侦听器 |
@Factory | 将一个方法标记为工厂,返回TestNG将被用作测试类的对象。 该方法必须返回Object [] |
@Test | 将类或方法标记为测试的一部分,此标记若放在类上,则该类所有公共方法都将被作为测试方法 |
结构框图
代码说明
import org.testng.Assert;
import org.testng.annotations.*;
import org.testng.annotations.Test;
public class NewTest {
@Test(groups = "group1")
public void test1( ){
System.out.println("test1 from group1");
Assert.assertTrue(true);
}
@Test(groups = "group1")
public void test11( ){
System.out.println("test11 from group1");
Assert.assertTrue(true);
}
@Test(groups = "group2")
public void test2( ){
System.out.println("test2 from group2");
Assert.assertTrue(true);
}
@BeforeSuite
public void beforeSuite( ){
System.out.println("beforeSuite");
}
@AfterSuite
public void afterSuite( ){
System.out.println("afterSuite");
}
@BeforeTest
public void beforeTest( ){
System.out.println("beforeTest");
}
@AfterTest
public void afterTest( ){
System.out.println("afterTest");
}
@BeforeClass
public void beforeClass( ){
System.out.println("beforeClass");
}
@AfterClass
public void afterClass( ){
System.out.println("afterClass");
}
@BeforeGroups(groups = "group1")
public void beforeGroups( ){
System.out.println("beforeGroups");
}
@AfterGroups(groups = "group1")
public void afterGroups( ){
System.out.println("afterGroups");
}
@BeforeMethod
public void beforeMethod( ){
System.out.println("beforeMethod");
}
@AfterMethod
public void afterMethod( ){
System.out.println("afterMethod");
}
}
运行截图