TestNG排除/包含测试用例示例图解

TestNG提供了启用和禁用测试用例的功能。我们可以禁止执行一组测试用例。例如, 考虑一种场景, 其中某些功能由于某些测试而导致严重错误, 因此我们需要禁止执行测试用例。
在TestNG中, 可以通过两种方式禁用测试用例:

  • 你可以在@Test批注中禁用测试用例。
  • 你可以在XML文件中禁用测试用例。
TestNG @Test启用参数 你可以通过在@Test批注中使用enable属性来禁用或排除测试用例, 并为enable属性分配False值。
让我们通过一个例子来理解:
package day1; import org.testng.annotations.Test; public class module1 { @Test(enabled=false) public void test1()// First test case {System.out.println("Hello srcmini!!"); } @Test public void test2()// Second test case {System.out.println("JTP Travels"); }}

在上面的代码中, 我们创建了两个测试用例, 即test1()和test2(), 并且通过将False值分配给enable属性来禁用第一个测试用例。在禁用第一个测试用例时, 将运行唯一的第二个测试用例。
输出
TestNG排除/包含测试用例示例图解

文章图片
在上面的输出中, 我们观察到只有第二个测试用例可以正常运行。
禁用XML文件中的enable属性。
第一步:到目前为止, 我们已经创建了个人贷款部门的测试用例。
module1.java
package day1; import org.testng.annotations.Test; public class module1 { @Test public void test1() {System.out.println("Hello srcmini!!"); } @Test public void test2() {System.out.println("JTP Travels"); }}

module2.java
package day1; import org.testng.annotations.Test; public class module2 { @Test public void WebLoginCarLoan() {System.out.println("WebLoginCarLoan"); } @Test public void MobileLoginCarLoan() {System.out.println("MobileLoginCarLoan"); } @Test public void APILoginCarLoan() {System.out.println("APILoginCarLoan"); } }

【TestNG排除/包含测试用例示例图解】module1.java包含个人贷款的测试用例, 而module2.java包含汽车贷款的测试用例。
步骤2:如果要在汽车贷款模块中禁用MobileLoginCarLoan测试用例, 则需要在xml文件中添加< method> 标记, 该标记可以访问类的所有方法。
< ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> < suite name="loan_department"> < test name="Personal_loan"> < classes> < class name="day1.module1"/> < /classes> < /test> < !-- Test --> < test name="Car_loan"> < classes> < class name="day1.module2"> < methods> < exclude name = "MobileLoginCarLoan"/> < /methods> < /class> < /classes> < /test> < /suite> < !-- Suite -->

步骤3:运行testng.xml文件。右键单击testng.xml文件, 然后将光标向下移动, 你将看到” 运行方式” , 然后单击1 TestNG Suite。
TestNG排除/包含测试用例示例图解

文章图片
输出
TestNG排除/包含测试用例示例图解

文章图片
在上面的输出中, 我们观察到除已排除的测试用例” MobileLoginCarLoan” 外, 所有测试用例均成功运行。
注意:假设我们有多个测试用例, 并且你只想包含一个或两个测试用例, 在这种情况下, 我们使用< include> 标记。如果我们使用< exclude> 标记, 那么排除所有测试用例将变得非常繁琐。 让我们通过< include> 标签的示例来了解。
test.java文件
package day1; import org.testng.annotations.Test; public class test { @Test public void test1() {System.out.println("test1"); } @Test public void test2() {System.out.println("test2"); } @Test public void test3() {System.out.println("test3"); } @Test public void test4() {System.out.println("test3"); }}

testng.xml文件
< ?xml version="1.0" encoding="UTF-8"?> < !DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> < suite name="test_suite"> < test name="test"> < classes> < class name="day1.test"> < methods> < include name="test3"/> < /methods> < /class> < /classes> < /test> < !-- Test --> < /suite> < !-- Suite -->

输出
TestNG排除/包含测试用例示例图解

文章图片
在上面的输出中, 我们观察到只有一个测试用例正在运行, 即test3, 因为我们在XML文件的< include> 标记中仅包含了test3。

    推荐阅读