gradle - Gradle TestNG套件文件未运行

标签 gradle testng

我是gradle的新手,我被困于使用gradle运行我的测试套件。以下是我的文件:

我收到“生成成功消息”,但我的脚本未运行。我已经在testNG.xml中配置了所有要运行的测试用例,但是gradle并未选择xml文件和其中定义的测试。

Build.gradle file:
task createTest(type: Test) {

    test {
        useTestNG() {
            suites 'src/test/resources/testNG.xml'

            useDefaultListeners = true
        }
    }
}


and my testNG file is:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="liveScoreTesting" parallel="tests" thread-count="6">


    <listeners>


        <listener class-name="org.uncommons.reportng.HTMLReporter" />
        <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
        <listener class-name="support.ReportingTools" />
    </listeners>


    <parameter name="browser" value="FF" />
    <parameter name="timeout" value="45" />
    <parameter name="driverLocation"
               value="src/test/resources/ChromeDriverServerx32/chromedriver.exe"></parameter>
    <parameter name="excelSheetLocation"
               value="/src/test/resources/DataSheets/LiveScoreValidationTest.xls" />
    <parameter name="sheetName" value="dataProvider" />
    <parameter name="suppressScreenshot" value="true" />

    <test name="LiveScoreTest" enabled="true" verbose="5">
        <parameter name="excelSheetLocation"
                   value="/src/test/resources/DataSheets/LiveScoreValidationTest.xls" />
        <parameter name="sheetName" value="dataProvider" />
        <classes>
            <class name="Scripts.LiveScoreValidationTest" />
        </classes>
    </test>

    <test name="HeadlessBrowserTesting" enabled="false" verbose="5">
        <parameter name="browser" value="PHANTOM" />
        <parameter name="driverLocation"
                   value="src/test/resources/PhantomJSServer/bin/phantomjs.exe"></parameter>
        <classes>
            <class name="Scripts.HeadlessBrowserTesting1" />
        </classes>
    </test>
    </suite>




Everytime I run the task it says Build Successful but does not run my test cases.
Note :  I dont want to use directly this solution-

 task runTests(type: JavaExec, dependsOn: '`enter code here`classes') {


        main = 'org.testng.TestNG'
        classpath = files("./src/test/resources",
                project.sourceSets.main.compileClasspath,
                project.sourceSets.test.compileClasspath,
                project.sourceSets.main.runtimeClasspath,
                project.sourceSets.test.runtimeClasspath)


        args = ["-parallel", "methods", "-threadcount", "1", "-d", "./build/test-output", "./src/test/resources/TestNGFiles/testNG.xml"]


    }
    enter code here

}

as using this I am not able to disable the default test listener. Appreciate your quick response.

最佳答案

我也遇到了这个问题。我有一个现有的gradle配置,该配置使用TestNG进行测试,因此我决定希望它使用XML配置,而不是在src / test下运行每个类中的所有测试(这是默认行为)。

无法弄清楚为什么它不起作用,然后它打击了我。

Gradle进行增量构建。 什么也没发生,因为所有测试结果(就Gradle而言)都是最新的。

首先进行“分级清洁”,然后进行测试。那行得通。 (不敢相信我之前没有弄清楚,大声笑)

关于gradle - Gradle TestNG套件文件未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37023337/

相关文章:

Android Studio Gradle 版本 5.1.1 问题

java - 构建Apache Beam Cassandra JAR时没有重新打包的依赖项

java - 以编程方式使用 TestNG 运行特定测试

java - java中的功能测试,解释

multithreading - 使用Spock测试线程并发

java - 从 maven 运行 TestNG 套件得到错误 :maven-surefire-plugin:test failed: testSuiteXmlFiles0 has null value

android - 无法使用JitPack获取所有子项目

android - 无法更改配置的依赖关系(启用即时运行后)

gradle - 从命令行使用 Gradle 运行特定的 TestNG XML 测试套件?

gradle - gradle-自定义build.gradle和settings.gradle