(三)TestNG 之 FixTrue
虫师 创建于 almost 7 years 之前
最后更新: less than a minute 之前
阅读数: 210
什么是Fixture
Test Fixture 是指一个测试运行所需的固定环境,准确的定义:
The test fixture is everything we need to have in place to exercise the SUT
在进行测试时,我们通常需要把环境设置成已知状态(如创建对象、获取资源等)来创建测试,每次测试开始时都处于一个固定的初始状态;测试结果后需要将测试状态还原,所以,测试执行所需要的固定环境称为 Test Fixture。
TestNG 提供的 Fixture 方法
表:
注解 | 说明 |
---|---|
@BeforeSuite | 注解的方法在测试套件(中的所有用例)开始前运行一次 |
@AfterSuite | 注解的方法在测试套件(中的所有用例)结束后运行一次。 |
@BeforeClass | 注解的方法在当前测试类(中所有用例)开始前运行一次。 |
@AfterClass | 注解的方法在当前测试类(中所有用例)结束后运行一次。 |
@BeforeTest | 对于套件测试,在运行属于 |
@AfterTest | 对于套件测试,在运行属于 |
@BeforeGroups | 在调用属于该组的所有测试方法之前运行。 |
@AfterGroups | 在调用属于该组的所有测试方法之后运行。 |
@BeforeMethod | 注解的方法将在每个测试方法之前运行。 |
@AfterMethod | 注释的方法将在每个测试方法之后执行。 |
实例
接下来通过例子演示上面部分注解的用法。
import org.testng.annotations.*;
public class FixtureTest {
//在当前测试类开始时运行。
@BeforeClass
public static void beforeClass(){
System.out.println("-------------------beforeClass");
}
//在当前测试类结束时运行。
@AfterClass
public static void afterClass(){
System.out.println("-------------------afterClass");
}
//每个测试方法运行之前运行
@BeforeMethod
public void before(){
System.out.println("=====beforeMethod");
}
//每个测试方法运行之后运行
@AfterMethod
public void after(){
System.out.println("=====afterMethod");
}
@Test
public void testCase1(){
System.out.println("test case 1");
}
@Test
public void testCase2(){
System.out.println("test case 2");
}
}
运行上面的测试,执行结果如下。
-------------------beforeClass
=====beforeMethod
test case 1
=====afterMethod
=====beforeMethod
test case 2
=====afterMethod
-------------------afterClass
===============================================
Default Suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================