个性化阅读
专注于IT技术分析

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属性来禁用第一个测试用例。在禁用第一个测试用例时, 将运行唯一的第二个测试用例。

输出

排除/包含测试用例

在上面的输出中, 我们观察到只有第二个测试用例可以正常运行。

禁用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");
 }
 
}

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。


赞(0) 打赏
未经允许不得转载:srcmini » TestNG排除/包含测试用例示例图解
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏