目录
而不使用enabled属性
现在,使用enabled属性
我们可以使用enabled属性来忽略类中的所有情况吗?
@Test注解有很多属性,enabled也是其中之一。在这篇文章中,我们将详细讨论enabled属性。
enabled属性有什么作用?当它的值为false时,该测试用例将不会被执行。
让我们先看看在CodekruTest类的帮助下,在不使用enabled属性的情况下是如何工作的。
import org.testng.Assert;
import org.testng.annotations.Test;
public class CodekruTest {
@Test()
public void test1() {
System.out.println("test1 is passed");
Assert.assertTrue(true);
}
@Test()
public void test2() {
System.out.println("test2 is passed");
Assert.assertTrue(true);
}
}
产出-
test1 is passed
test2 is passed
PASSED: test1
PASSED: test2
===============================================
Default test
Tests run: 2, Failures: 0, Skips: 0
===============================================
在上面的场景中,两个测试用例都被执行了,现在,让我们看看如果我们在test1方法上使用enabled = false会发生什么。
import org.testng.Assert;
import org.testng.annotations.Test;
public class CodekruTest {
@Test(enabled = false) // now this test won't run
public void test1() {
System.out.println("test1 is passed");
Assert.assertTrue(true);
}
@Test()
public void test2() {
System.out.println("test2 is passed");
Assert.assertTrue(true);
}
}
产出-
test2 is passed
PASSED: test2
===============================================
Default test
Tests run: 1, Failures: 0, Skips: 0
===============================================
我们在test1方法上使用了“enabled = false”,因此test1()方法没有被执行,但test2()执行了。
答案是肯定的。如下图所示,我们可以通过将@Test注释放在类级别上来轻松实现这一点。
import org.testng.Assert;
import org.testng.annotations.Test;
@Test(enabled = false)
public class Codekru {
public void test1() {
System.out.println("test1 is passed");
Assert.assertTrue(true);
}
public void test2() {
System.out.println("test2 is passed");
Assert.assertTrue(true);
}
}
产出-
===============================================
Default test
Tests run: 0, Failures: 0, Skips: 0
===============================================