2009-07-19 23 views
4

从TestNG文档中我可以看到(enabled = false)可以应用于类或方法。但它似乎只适用于一种方法。@Test(enabled = false)是否适用于TestNG中的类?

有人看过一样,找到了解决办法?

我在ItelliJ IDEA 7.0中运行测试。

+0

为了读者的利益,它不能被启用,必须启用。 – flow2k 2017-05-22 20:57:28

回答

8

这似乎为我工作:

@Test(enabled = false) 
public class B {  
    public void btest1() { 
    System.out.println("B.btest1"); 
    } 
} 

结果:

=============================================== 
SingleSuite 
Total tests run: 0, Failures: 0, Skips: 0 
=============================================== 

更改假为真:

B.btest1 

=============================================== 
SingleSuite 
Total tests run: 1, Failures: 0, Skips: 0 
=============================================== 

以下是可能被绊倒你(很难说因为你没有提供任何代码):

@Test(enabled = false) 
public class B { 
@Test 
public void btest1() { 
    System.out.println("B.btest1"); 
} 
} 

这种情况会因为通过重复上的方法中的@Test注释运行测试,你也重写enabled属性为其默认值,这是true

解决的办法是在方法级别重申enabled=false

@Test(enabled = false) 
public class B { 

@Test(enabled = false) 
public void btest1() { 
    System.out.println("B.btest1"); 
    } 
} 

我知道这有点违反直觉,但它是必要的,以便在路上方法注释可以覆盖类注解是一致的。

相关问题