2017-01-23 4 views
0


У меня есть этот пример кода:
метод Run аннотацию AfterMethod только после того, как указанный метод испытания в TestNG

public class A { 

@BeforeTest(groups = "group1") 
public void beforeTest() { 
    System.out.println("Before test"); 
} 

@BeforeMethod(groups = "group1") 
public void beforeMethod() { 
    System.out.println("Before method"); 
} 

@Test(groups = { "group1" }) 
public void test1() { 
    System.out.println("Test1"); 
} 

@Test(groups = {"group2"}) 
public void test2() { 
    System.out.println("Test2"); 
} 

@AfterMethod(groups = { "group2" }, alwaysRun = false) 
public void afterMethod() { 
    System.out.println("After method"); 
} 

@AfterTest(groups = "grupa1") 
public void afterTest() { 
    System.out.println("AfterTest"); 
} 
} 

И выход:

Before test 
Before method 
Test1 
After method 
Before method 
Test2 
After method 
AfterTest 

Но я хотел бы получить примерно следующее:

Before test 
Before method 
Test1 
Before method 
Test2 
After method 
AfterTest 

Есть ли способ вызвать метод afterMethod только после второго метода тестирования? Я не могу использовать аннотацию afterGroup.

+1

Вы должны приспособить свое решение здесь. Может быть общим переменным/флагом, который представляет, запускать тест или нет, и проверять этот флаг как первую строку в методе «После метода». –

ответ

0

Замените @AfterMethod на @AfterClass, и у вас будет ожидаемый выход.

Смежные вопросы