运行TestNG套件并且@BeforeTest和@AfterTest不起作用

时间:2017-11-24 14:42:19

标签: testng

我创建了一个带有测试的类,在其他类中,我在测试之前和之后创建。 当我使用此注释Suite.xml启动mvn clean test -DsuiteXmlFile=Suite.xml时。首先,执行@BeforeTest和我的第一次测试,然后执行@AfterTest。之后,@BeforeTest@AfterTest无法运行,只需测试。 `

<test name="exampletest1">
    <classes>
        <class name="Test2"></class>
        <class name="Test1"></class>
    </classes>
</test>

`

2 个答案:

答案 0 :(得分:0)

<suite name="Suite1"> <!--@BeforeSuite runs here just once--> 
  <test name="exampletest1"> <!--@BeforeTest runs here just once-->
    <classes>
       <class name="Test2"></class>
       <class name="Test1"></class>
    </classes>
  </test> <!--@AfterTest runs here just once-->
</suite> <!--@AfterSuite runs here just once-->

如果您希望在每个@Test注释之前运行&#34;方法&#34;请使用   @BeforeMethod @AfterMethod 注释。

testng文档页面中,我们可以看到

@BeforeMethod:带注释的方法将在每个测试方法之前运行。

@AfterMethod:带注释的方法将在每个测试方法之后运行。

答案 1 :(得分:0)

如上所述,@ BestTest将在testNG.xml文件中的测试中启动@Test方法之前运行。

<test name="Regression suite" >

@BeforeMethod将在所有类中的每个@Test方法中执行。如果你想在类中只运行一次@BeforeClass:“在调用当前类的第一个测试方法之前,将运行带注释的方法。”

类似于@After *