Gradle 梯度测试任务测试的执行顺序

Gradle 梯度测试任务测试的执行顺序,gradle,testng,Gradle,Testng,当我使用命令行和testng.xml文件中定义的测试运行testng测试时,它们按照testng.xml文件中指定的顺序运行 <suite name="WorkDepot Tests"> <test name="Submit work-result test"> <classes> <class name="workdepot.test.SubmitWorkTest"/>

当我使用命令行和testng.xml文件中定义的测试运行testng测试时,它们按照testng.xml文件中指定的顺序运行

<suite name="WorkDepot Tests">
        <test name="Submit work-result test">
          <classes>
                <class name="workdepot.test.SubmitWorkTest"/>
                <class name="workdepot.test.WorkResultTest"/>
                <class name="workdepot.test.SubmitWorkTest"/>
                <class name="workdepot.test.WorkErrorTest"/>
                <class name="workdepot.test.SubmitWorkTest"/>
                <class name="workdepot.test.MultipleHasTest"/>
                <class name="workdepot.test.WorkResultTest"/>
                <class name="workdepot.test.CallbackTest"/>
                <class name="workdepot.test.NegCallBackTest"/>
                <class name="workdepot.test.NegSubmitWork"/>
                <class name="workdepot.test.NegGetWork"/>
                <class name="workdepot.test.NegHasWork"/>
                <class name="workdepot.test.NegSubmitResult"/>
                <class name="workdepot.test.NegSubmitError"/>
                <class name="workdepot.test.NegReadResult"/>
                <class name="workdepot.test.NegMultipleHas"/>
          </classes>
        </test>
</suite>

如何确保测试按照testng.xml中的顺序运行而不更改测试代码(即,在测试之间添加依赖项)

对于JUnit和testng,无法从渐变级别进行控制。正如您所提到的,可以修改测试源。对于JUnit,可以定义一个测试套件来控制测试执行顺序。如果TestNG有类似于这样的测试套件的功能,那么这可能是一个不错的选择

默认情况下,TestNG将按照XML文件中的顺序运行测试。否则gradle测试不能保证任何订单

您可以在方法运行之前拦截它们,但在这种情况下这是没有用的

task integTest(type: Test){
    useTestNG()
    testClassDir = file("build/classes/integTest")

    include "workdepot/test/SubmitWorkTest*"
    include "workdepot/test/WorkResultTest*"
    include "workdepot/test/SubmitWorkTest*"
    include "workdepot/test/WorkErrorTest*"
    include "workdepot/test/SubmitWorkTest*"
    include "workdepot/test/MultipleHasTest*"
    include "workdepot/test/WorkResultTest*"
    include "workdepot/test/CallbackTest*"
    include "workdepot/test/NegCallBackTest*"
    include "workdepot/test/NegSubmitWork*"
    include "workdepot/test/NegGetWork*"
    include "workdepot/test/NegHasWork*"
    include "workdepot/test/NegSubmitResult*"
    include "workdepot/test/NegSubmitError*"
    include "workdepot/test/NegReadResult*"
    include "workdepot/test/NegMultipleHas*"

}