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

运行TestNG套件和@BeforeTest和@AfterTest不起作用,testng,Testng,我创建了一个带有测试的类,在另一个类中,我创建了测试前后的类。 当我使用此注释启动Suite.xml时mvn clean test-DsuiteXmlFile=Suite.xml。首先,执行@BeforeTest和我的第一个测试,然后执行@AfterTest。之后,@BeforeTest和@AfterTest不运行,只运行测试` <test name="exampletest1"> <classes> <class name="Test2"&

我创建了一个带有测试的类,在另一个类中,我创建了测试前后的类。 当我使用此注释启动
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>

`


如果希望在每个
@Test
注释之前运行“方法”,请使用
@beforethod
@AfterMethod
注释

从文档页面我们可以看到

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

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


如果希望在每个
@Test
注释之前运行“方法”,请使用
@beforethod
@AfterMethod
注释

从文档页面我们可以看到

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


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

如前所述,@BeforeTest将在testNG.xml文件的test中启动@test methods之前运行

<test name="Regression suite" >

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


与前面提到的@After*

类似,@BeforeTest将在testNG.xml文件的Test中启动@Test方法之前运行

<test name="Regression suite" >

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


对于@After*

类似,请您解释清楚好吗?您的测试1运行正确,但在测试注释前后运行测试2时,这是否正确?您能更好地解释一下吗?您的测试1正确运行,但在测试注释前后运行测试2时,这是否正确?您能告诉我您面临的错误吗?您必须使用@BeforeMethod注释当我运行测试套件时,首先执行Test2类,并在方法之前和之后工作,但在类Test1中,不能在方法之前和之后运行。BeforeMethod和AfterMethod适用于您放入的类。一种方法是在单独的类中定义这些方法,并让Test2和Test1扩展该类。如果这有帮助,请接受答案。它在将来也会帮助其他人。谢谢,请告诉我你面临的错误是什么?您必须使用@BeforeMethod注释当我运行测试套件时,首先执行Test2类,并在方法之前和之后工作,但在类Test1中,不能在方法之前和之后运行。BeforeMethod和AfterMethod适用于您放入的类。一种方法是在单独的类中定义这些方法,并让Test2和Test1扩展该类。如果这有帮助,请接受答案。它在将来也会帮助其他人。谢谢