如何使用 TestNG.xml 从大型测试套件中执行单个测试?


testNG.xml 非常灵活,可以作为执行测试用例的测试框架文件。它将开发和执行彼此分离。用户可以在 testNG 中开发“N”个测试用例,但可以根据 testNG.xml 中的配置运行有限数量的测试方法。

在本文中,让我们看看如何从大型 TestNG 套件中只运行一个测试方法。

要只运行一个测试方法,我们将使用 TestNG 中的'include'关键字。在 testNG.xml 中,首先我们将定义包含该方法的类名,然后在使用'include'关键字的同时提及要执行的测试名称。

解决此问题的方法/算法 -

  • 步骤 1 - 在类中导入 org.testng.annotations.* 用于 TestNG。

  • 步骤 2 - 写一个 @test 注释

  • 步骤 3 - 为 @test 注释创建一个方法,例如test1

  • 步骤 4 - 对test2test3重复上述步骤。

  • 步骤 5 - 同样,创建“n”个类并添加多个测试。在本例中,我们将创建 2 个类,每个类包含 2 个测试方法。

  • 步骤 6 - 现在创建如下所示的 testNG.xml。

  • 步骤 7 - 运行 testNG.xml 或直接在 IDE 中运行 testNG 类,或者使用命令行编译并运行它。

示例

以下代码显示了如何从大型套件中只运行 1 个测试方法 -

src/ NewTestngClass.java

import org.testng.annotations.Test;
public class NewTestngClass {
   @Test
   public void testCase1() {
      System.out.println("in test case 1 of NewTestngClass");
   }
   @Test
   public void testCase2() {
      System.out.println("in test case 2 of NewTestngClass");
   }
}

src/OrderofTestExecutionInTestNG.java

import org.testng.annotations.Test;
public class OrderofTestExecutionInTestNG {
   // test case 1
   @Test
   public void testCase3() {
      System.out.println("in test case 3 of OrderofTestExecutionInTestNG");
   }
   // test case 2
   @Test
   public void testCase4() {
      System.out.println("in test case 4 of OrderofTestExecutionInTestNG");
   }
}

testng.xml

这是一个配置文件,用于组织和运行 TestNG 测试用例。当需要执行有限的测试而不是完整套件时,它非常方便。

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name = "Suite1">
   <test name = "test1">
      <classes>
         <class name = "NewTestngClass">
            <methods>
               <include name="testCase1" />
            </methods>
         </class>
      </classes>
   </test>
</suite>

输出

in test case 1 of NewTestngClass
===============================================
Suite1
Total tests run: 1, Passes: 1, Failures: 0, Skips: 0

更新于: 2022年3月9日

11K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告