繁体   English   中英

如果在类中禁用了测试,则不会调用TestNg @afterclass

[英]TestNg @afterclass isn't invoked if there is disabled test in a class

我正在使用testng + webdriver进行自动化测试。 还有一个问题,就是@AfterClass注释不能按我预期的那样工作。

我有以下测试课:

    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 
        }

}

如果所有测试方法均已启用-tearDown方法可以正常工作,但如果其中一项测试被禁用-我什至没有在tearDown方法中达到断点。

@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() {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM