为什么@AfterSuit在没有alwaysrun = true的情况下无法运行?

问题描述 投票:0回答:1

我有下面的@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” ...

selenium annotations testng
1个回答
0
投票

如果将其作为TestNG类运行,即使@AfterSuite(alwaysRun = true),也只能选择@BeforeSuite方法。但是,如果您通过testplan.xml将其作为Testsuite运行,则直接选择@AfterSuite方法,而无需始终运行Run = true

© www.soinside.com 2019 - 2024. All rights reserved.