我有下面的@AfterSuit方法。如果删除alwaysRun = true,则TestNG不会执行它。
@AfterSuite(alwaysRun=true)
public void finishsuit()
{
System.out.println("completed suit");
}
我检查了文档中的alwaysRun并说'对于after方法(afterSuite,afterClass,...):如果设置为true,则即使先前调用的一个或多个方法失败或被跳过,此配置方法也将运行。 。'
这是我的理解:如果在当前诉讼所属的任何一个中指定的任何类中定义的任何@Test方法失败,那么除非我们指定alwaysRun = true,否则将不会执行@AfterSuit。
但是在我的情况下,@Test都没有失败。如果没有alwaysRun = true,我的@AfterSuite仍然无法执行
我有下面的@AfterSuit方法。如果我删除alwaysRun = true,则TestNG不会执行它。 @AfterSuite(alwaysRun = true)public void finishsuit(){System.out.println(“ completed suit” ...
如果将其作为TestNG类运行,即使@AfterSuite(alwaysRun = true),也只能选择@BeforeSuite方法。但是,如果您通过testplan.xml将其作为Testsuite运行,则直接选择@AfterSuite方法,而无需始终运行Run = true