我对TestNG注释的操作顺序有疑问......我有以下代码:
public class AnnotationsTest {
@BeforeSuite(alwaysRun = true)
public static void beforeSuite() {
System.out.println("@BeforeSuite");
}
@BeforeClass(alwaysRun = true)
public static void beforeClass() {
System.out.println("@BeforeClass");
}
@BeforeTest(alwaysRun = true)
public static void beforeTest() {
System.out.println("@BeforeTest");
}
@BeforeMethod(alwaysRun = true)
public static void beforeMethod() {
System.out.println("@BeforeMethod");
}
@AfterSuite(alwaysRun = true)
public static void afterSuite() {
System.out.println("@AfterSuite");
}
@AfterClass(alwaysRun = true)
public static void afterClass() {
System.out.println("@AfterClass");
}
@AfterTest(alwaysRun = true)
public static void afterTest() {
System.out.println("@AfterTest");
}
@AfterMethod(alwaysRun = true)
public static void afterMethod() {
System.out.println("@AfterMethod");
}
@Test
public void test() {
System.out.println("Test");
}
@Test
public void test2() {
System.out.println("Test2");
}
}
Run Code Online (Sandbox Code Playgroud)
我的输出如下:

我的问题是,为什么@AfterTest方法在每个@Test注释后都没有运行?TestNG会将整个班级视为"测试"吗?似乎是这种情况,因为@BeforeTest和@AfterTest不在@BeforeClass和@AfterClass之内,但我想确定我理解.我假设我可以在这种情况下使用@BeforeMethod和@AfterMethod在此类中的test1和test2之前和之后执行.谢谢!
| 归档时间: |
|
| 查看次数: |
13336 次 |
| 最近记录: |