如何通过使用Testng设置Priroty在多个类中一一运行所有方法



如何使用testng设置优先级在多个类中逐个运行所有方法?

public class test1 {
@Test(priority = 1)
public void test1()
{
System.out.println("test1");
}
@Test(priority = 2)
public void test2()
{
System.out.println("test2");
}
}
public class test2 {
@Test(priority = 1)
public void test3()
{
System.out.println("test3");
}
@Test(priority = 2)
public void test4()
{
System.out.println("test4");
}
}

预期产出

test1
test2
test3
test4

但得到

test1
test3
test2
test4

如何运行 1 类 FIRS,然后运行 2 类?

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<suite name="SANITY SUITE">
<test name="TESTCASE1" >
<classes>
<class name="demo.demo.test1"/>
<class name="demo.demo.test2"/>
</classes>
</test>
</suite>

在你的套件中,xml使用这个:<test name="TESTCASE1" group-by-instances="true" >

https://stackoverflow.com/a/26635229/8794926

从文档中(搜索preserve-order(

默认情况下,TestNG 将按照在 XML 文件中找到测试的顺序运行测试。

假设以下结构

pom.xml
src/test/java/testng.xml
src/test/java/demo/demo/test2.java
src/test/java/demo/demo/test1.java

诗歌中的片段.xml

<properties>
<maven.compiler.source>13</maven.compiler.source>
<maven.compiler.target>13</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${project.build.testSourceDirectory}/testng.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>

testnng.xml- 您提供的那个

test1.javatest2.java- 您提供的添加importpackage语句的那些

mvn test方式运行测试将产生预期的输出

[INFO] --- maven-surefire-plugin:2.22.0:test (default-test) @ playground.testng ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running TestSuite
test1
test2
test3
test4
[INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.758 s - in TestSuite

在您的情况下失败的一些可能原因:

  • 不知何故,preserve-order的默认行为被覆盖
  • 您以不考虑testng.xml的方式调用测试

最新更新