Java TestNg@afterclass isn';如果类中存在禁用的测试,则调用t
我正在使用testng+webdriver进行自动测试。还有一个问题,@AfterClass注释不能像我预期的那样工作 我有以下测试课程:Java TestNg@afterclass isn';如果类中存在禁用的测试,则调用t,java,selenium,webdriver,testng,Java,Selenium,Webdriver,Testng,我正在使用testng+webdriver进行自动测试。还有一个问题,@AfterClass注释不能像我预期的那样工作 我有以下测试课程: public class WorkspaceTest{ @BeforeClass public void init(){ //Initialization steps } @Test public void testMethod1{...}
public class WorkspaceTest{
@BeforeClass
public void init(){
//Initialization steps
}
@Test
public void testMethod1{...}
@Test
public void testMethod2{...}
@Test(enabled=false)
public void testMethod3{...}
@AfterClass(alwaysRun=true)
public void tearDown{
//finalizing steps
}
}
如果启用了所有测试方法-拆卸方法工作正常,
但若其中一个测试被禁用,我甚至并没有在拆卸方法中达到断点
@AfterClass
注释是否为预期行为?还是我做错了什么
Testng version: 6.1.1
Webdriver 2.5.0
Java 1.6.0_26
这对我很有用:
tearDown
PASSED: testMethod1
PASSED: testMethod2
===============================================
Test1
Tests run: 2, Failures: 0, Skips: 0
===============================================
以下是我使用的来源:
public class A {
@BeforeClass
public void init(){
//Initialization steps
}
@Test
public void testMethod1() {}
@Test
public void testMethod2() {}
@Test(enabled=false)
public void testMethod3() {}
@AfterClass(alwaysRun=true)
public void tearDown() {
System.out.println("tearDown");
}
}
如果使用标准junit@AfterClass,则应在公共静态void方法上进行注释,例如:
@AfterClass
public static void logout() {}
谢谢你的时间!看来我解决了问题。EclipseTestNG插件存在一些问题。同样的测试在Intellijidea上运行良好。您可以将您的发现通过电子邮件发送给testng用户列表吗?很高兴看到TestNG Eclipse插件是否有问题。我在IntelliJ中运行TestNG测试时遇到了相同的错误,但在我通过Gradle运行测试时,它正确地调用了
@AfterClass
(即使有一个方法启用=false
)。