TestNG 中测试的执行顺序是什么?


一个 TestNG 类可以包含不同的测试,例如 test1test2test3 等。当用户运行包含各种测试的 TestNG 类时,它会根据提供的名称按字母顺序运行测试用例。但是,用户可以为这些测试分配优先级,以便这些测试可以按照用户的优先级运行。优先级从 0 开始(最高优先级),随着我们移动到 1、2、3 等,逐渐降低。

默认顺序

TestNG 按字母顺序执行不同的测试。默认情况下,test1 将首先运行,然后是 test2,最后是 test3。默认情况下,如果用户未定义优先级,TestNG 会为所有测试分配优先级 0。由于所有测试都具有相同的优先级,因此它会按字母顺序执行。

解决此问题的方法/算法

  • 步骤 1 − 导入 org.testng.annotations.Test 用于 TestNG。

  • 步骤 2 − 编写注释为 @test

  • 步骤 3 − 对 test2test3 重复这些步骤。

  • 步骤 4 − 对 test2test3 重复这些步骤。

  • 步骤 5 − 现在创建如下所示的 testng.xml

  • 步骤 6 − 现在,运行 testng.xml 或直接在 IDE 中运行 TestNG 类,或者使用命令行编译并运行它。

示例

以下代码创建一个 TestNG 类并显示其默认执行顺序:

import org.testng.annotations.Test;
public class OrderofTestExecutionInTestNG {
   @Test
   public void test1() {
      System.out.println("Starting execution of TEST1");
   }
   @Test
   public void test2() {
      System.out.println("Starting execution of TEST2");
   }
   @Test
   public void test3() {
      System.out.println("Starting execution of TEST3");
   }
}

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

输出

Starting execution of TEST1
Starting execution of TEST2
Starting execution of TEST3

更新于:2022年1月12日

10K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告