目录
而不使用enabled属性
现在,使用enabled属性
我们可以使用enabled属性来忽略类中的所有情况吗?
@Test注解有很多属性,enabled也是其中之一。在这篇文章中,我们将详细讨论enabled属性。
enabled属性有什么作用?当它的值为false时,该测试用例将不会被执行。
而不使用enabled属性
让我们先看看在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 testTests run: 2, Failures: 0, Skips: 0
===============================================
在上面的场景中,两个测试用例都被执行了,现在,让我们看看如果我们在test1方法上使用enabled = false会发生什么。
现在,使用enabled属性
import org.testng.Assert;
import org.testng.annotations.Test;public class CodekruTest {@Test(enabled = false) // now this test won't runpublic 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 testTests run: 1, Failures: 0, Skips: 0
===============================================
我们在test1方法上使用了“enabled = false”,因此test1()方法没有被执行,但test2()执行了。
我们可以使用enabled属性来忽略类中的所有情况吗?
答案是肯定的。如下图所示,我们可以通过将@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 testTests run: 0, Failures: 0, Skips: 0
===============================================