TestNG 中测试的执行顺序是什么?
一个 TestNG 类可以包含不同的测试,例如 test1、test2、test3 等。当用户运行包含各种测试的 TestNG 类时,它会根据提供的名称按字母顺序运行测试用例。但是,用户可以为这些测试分配优先级,以便这些测试可以按照用户的优先级运行。优先级从 0 开始(最高优先级),随着我们移动到 1、2、3 等,逐渐降低。
默认顺序
TestNG 按字母顺序执行不同的测试。默认情况下,test1 将首先运行,然后是 test2,最后是 test3。默认情况下,如果用户未定义优先级,TestNG 会为所有测试分配优先级 0。由于所有测试都具有相同的优先级,因此它会按字母顺序执行。
解决此问题的方法/算法
步骤 1 − 导入 org.testng.annotations.Test 用于 TestNG。
步骤 2 − 编写注释为 @test
步骤 3 − 对 test2 和 test3 重复这些步骤。
步骤 4 − 对 test2 和 test3 重复这些步骤。
步骤 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
广告