前言

1、当你已经得知某个测试方法有bug,开发人员正在修复中,还不能执行,你又不能删除它,开发修复后还需要用到,这个时候你可以选择禁用此测试方法;

2、当测试方法有性能响应时间的要求时,你可以设置测试方法的超时时间,当超过该时间时,该测试方法将判定为执行失败。

正文

1、测试方法禁用利用@Test注解的enabled属性,设置enabled = false时,该测试方法将被忽略。

禁用不是跳过执行而是忽略执行,等效于没有这个测试方法,如同被删除了。

2、测试方法超时设置利用@Test注解的timeOut属性。

public class TestNGEnabledTimeout {
    @BeforeClass
    public void beforeClass(){
        System.out.println("beforeClass");
    }
    @AfterClass
    public void afterClass(){
        System.out.println("afterClass");
    }
    @Test(enabled = false)
    public void testMethod1(){
        System.out.println("testMethod1");
    }
    @Test(timeOut = 100)
    public void testMethod2() throws InterruptedException{
        System.out.println("testMethod2");
        Thread.sleep(200);
    }
}

执行结果:

TestNG测试方法禁用和超时

testMethod1()方法没有执行,被忽略。

testMethod2()方法执行失败,超出设置的时间。

 

 

三人行,必有我师焉。

相关文章: