当前位置 : 主页 > 网络安全 > 测试自动化 >

@Test(enabled = false)是否适用于TestNG中的类?

来源:互联网 收集:自由互联 发布时间:2021-06-19
从TestNG doc我可以看到(enabled = false)可以应用于类或方法.但似乎只有在应用于方法时才有效. 有人看到同样的,找到了解决方案? 我顺便在ItelliJ IDEA 7.0中运行测试. 它似乎对我有用: @Te
从TestNG doc我可以看到(enabled = false)可以应用于类或方法.但似乎只有在应用于方法时才有效.

有人看到同样的,找到了解决方案?

我顺便在ItelliJ IDEA 7.0中运行测试.

它似乎对我有用:

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

结果:

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

将false更改为true:

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属性覆盖为其默认值,这是真的.

解决方案是在方法级别重复enabled = false:

@Test(enabled = false)
public class B {

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

我知道这有点违反直觉,但为了在方法注释覆盖类注释的方式上保持一致,这是必要的.

网友评论