引言
本文介绍@BeforeMethod、@AfterMethod、@BeforeClass、@AfterClass四个注解
正文
@BeforeMethod —— 在测试类中的每一个@Test注解方法运行之前运行一次;
@AfterMethod —— 在测试类中的每一个@Test注解方法运行之后运行一次;
@BeforeClass —— 在测试类中的所有注解方法运行之前跑一次;
@AfterClass —— 在测试类中的所有注解方法运行之后跑一次。
演示代码:
public class TestNGAnnotation {
@BeforeClass
public void setUp(){
System.out.println("beforeClass---------在测试类中的所有注解方法运行之前跑一次");
}
@AfterClass
public void tearDown(){
System.out.println("afterClass----------在测试类中的所有注解方法运行之后跑一次");
}
@BeforeMethod
public void beforeMethod() {
System.out.println("beforeMethod---------在测试类中的每一个@Test注解方法运行之前运行一次");
}
@AfterMethod
public void afterMethod() {
System.out.println("afterMethod----------在测试类中的每一个@Test注解方法运行之后运行一次");
}
@Test
public void testAdd(){
System.out.println("这是第一个测试方法------------->>>>>>");
ClassToBeTested test = new ClassToBeTested();
int result = test.add(2, 7);
Assert.assertEquals(result, 9);
}
@Test
public void testMethod(){
System.out.println("这是第二个测试方法------------->>>>>>");
}
}
执行结果:
可以看到,@BeforeClass和@AfterClass注解的方法只在测试类中所有注解方法执行之前和执行之后分别只运行了一次。
@BeforeMethod和@AfterMethod注解的方法在测试类中的每一个@Test注解的测试用例方法之前和之后分别运行一次。