我创建了一个带有测试的类,在其他类中,我在测试之前和之后创建。
当我使用此注释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>
`
答案 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 *