TestNG提供了启用和禁用测试用例的功能。我们可以禁止执行一组测试用例。例如, 考虑一种场景, 其中某些功能由于某些测试而导致严重错误, 因此我们需要禁止执行测试用例。
在TestNG中, 可以通过两种方式禁用测试用例:
- 你可以在@Test批注中禁用测试用例。
- 你可以在XML文件中禁用测试用例。
让我们通过一个例子来理解:
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属性来禁用第一个测试用例。在禁用第一个测试用例时, 将运行唯一的第二个测试用例。
输出
文章图片
在上面的输出中, 我们观察到只有第二个测试用例可以正常运行。
禁用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。
文章图片
输出
文章图片
在上面的输出中, 我们观察到除已排除的测试用例” 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 -->
输出
文章图片
在上面的输出中, 我们观察到只有一个测试用例正在运行, 即test3, 因为我们在XML文件的< include> 标记中仅包含了test3。
推荐阅读
- TestNG使用Regex运行测试用例示例图解
- Eclipse TestNG安装和配置详细步骤图解
- TestNG的特点详细介绍
- Xamarin工作簿安装和用法详细步骤图解
- 密钥,本文教您win7旗舰版的激活密钥
- win7强行删除开机密码,本文教您win7怎样删除开机密码
- 局域网共享设置,本文教您win7如何设置局域网共享
- iso文件怎样打开,本文教您怎样打开iso文件
- cad2012,本文教您cad2012序列号与密钥