Я ожидал следующий вывод:Заказ Maven + Surefire + TestNG - BeforeClass, BeforeTest, тест, тест, AfterTest, AfterClass
Running TestSuite
[DEBUG] beforeClass
[DEBUG] beforeTest
[DEBUG] test
[DEBUG] afterTest
[DEBUG] beforeTest
[DEBUG] test
[DEBUG] afterTest
[DEBUG] afterClass
Но вместо этого, это на самом деле происходит. Обратите внимание на 2 проблемы: BeforeClass запускает после BeforeTest. Во-вторых, Before/AfterTest запускает один раз.
Running TestSuite
[DEBUG] beforeTest
[DEBUG] beforeClass
[DEBUG] test
[DEBUG] test
[DEBUG] afterClass
[DEBUG] afterTest
Вот код.
import org.testng.annotations.AfterClass;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class TestNgAnnoTest {
@BeforeClass
public void beforeClass(){
System.out.println("beforeClass");
}
@BeforeTest
public void beforeTest(){
System.out.println("beforeTest");
}
@Test
public void test1(){
System.out.println("test");
}
@Test
public void test2(){
System.out.println("test");
}
@AfterTest
public void afterTest(){
System.out.println("afterTest");
}
@AfterClass
public void afterClass(){
System.out.println("afterClass");
}
}
Для любого любопытного о версиях инструмента: Java MacOSX/1.6.0_22, МВН: 2.2.1, безошибочный 2,6, TestNG 5.14.2
Делает нас двоих! – jpaugh