@Test(enabled = false)对TestNG中的类有用吗?

问题描述 投票:5回答:1

从TestNG文档中,我可以看到(enabled = false)可以应用于类或方法。但是似乎只有将其应用于method时才有效。

有人看见了,找到了解决办法?

class annotations testng
1个回答
10
投票

它似乎对我有用:

@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属性为其默认值,即true

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

@Test(enabled = false)
public class B {

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

}

我知道这有点违反直觉,但是为了保持method注释可以覆盖class注释的方式一致,这是必要的。

© www.soinside.com 2019 - 2024. All rights reserved.