如何以编程方式关闭TestNG的默认报告器?


TestNG允许从IntelliJ IDE以及命令行运行测试套件。当用户从IDE或命令行运行testng.xml时,TestNG会生成默认报告。它将所有报告和相应的HTML文件保存在**项目->test-output**文件夹中。如果此文件夹不存在,则TestNG会创建一个。

要以编程方式禁用默认报告,应通过命令行(cmd)运行TestNG。

以下是从命令行运行测试套件的先决条件:

  • 应创建testng.xml文件来定义要执行的测试套件和测试类。

  • 所有相关的**jar**文件都应该在项目文件夹中可用。这包括**testing.jar**、**jcommander.jar**以及测试用例中使用的任何其他**jar**文件。

  • 编译后存储. **class** 文件的**bin**或**out**文件夹的**路径**。

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

  • **步骤1** - 创建不同的测试类,每个类都有不同的@Test方法和一个@BeforeSuite方法。

  • **步骤2** - 编译类。这将在IntelliJ中创建**out**文件夹,在Eclipse中创建**bin**文件夹。

  • **步骤3** - 将所有**jar**文件放在**lib**文件夹中。

  • **步骤4** - 现在创建如下所示的testng.xml。

  • **步骤5** - 打开**cmd**。

  • **步骤6** - 使用cd <**project_path**>导航到项目路径。

  • **步骤7** - 运行以下命令

java -cp <path of lib;> <path of out or bin folder> org.testng.TestNG <path of testng>/testng.xml

示例

以下代码显示如何在运行时禁用默认报告生成:

src/ NewTestngClass.java

import org.testng.TestNG;
import org.testng.annotations.*;
public class NewTestngClass {
   // test case 1
   @Test()
   public void testCase1() throws InterruptedException {
      System.out.println("in test case 1 of NewTestngClass");
   }
   // test case 2
   @Test()
   public void testCase2() throws InterruptedException {
      System.out.println("in test case 2 of NewTestngClass");
   }
   @BeforeSuite
   public void name() {
      TestNG myTestNG = new TestNG();
      myTestNG.setUseDefaultListeners(false);
      System.out.println("Default reports are disabled");
   }
}

src/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"/>
      </classes>
   </test>
</suite>

运行命令:

java -cp .\lib\*;.\out\production\TestNGProject org.testng.TestNG src\testng.xml

输出

Default reports are disabled
in test case 1 of NewTestngClass
in test case 2 of NewTestngClass

===============================================
Suite1
Total tests run: 2, Passes: 2, Failures: 0, Skips: 0
===============================================

更新于:2022年3月9日

435 次浏览

启动你的职业生涯

完成课程获得认证

开始
广告