Java 如何通过使用testng设置priroty在多个类中逐个运行所有方法

Java 如何通过使用testng设置priroty在多个类中逐个运行所有方法,java,testng,Java,Testng,如何通过使用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 cl

如何通过使用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
[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
但是

test1
test3
test2
test4
如何先运行1级,然后运行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中使用以下内容:

从(搜索
保留订单

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

假设以下结构

pom.xml
src/test/java/testng.xml
src/test/java/demo/demo/test2.java
src/test/java/demo/demo/test1.java
pom.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>
在您的案例中失败的一些可能原因:

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

您尝试过任何建议的答案吗?如果你能给未来的读者留下一些反馈,那就太好了。一个完整的工作项目用于我的答案可以在