2016-05-04 5 views
0

Ich bin neu zu Gradle und ich bin bei der Ausführung meiner Testsuite mit Gradle stecken. Unten sind meine Dateien:Gradle TestNG Suite-Dateien laufen nicht

Ich erhalte Build erfolgreich Nachricht, aber meine Skripte laufen nicht. Ich habe in testNG.xml konfiguriert, die alle Testfälle laufen lassen, aber grelle nimmt nicht die xml-Akte und die Tests an, die darin definiert werden.

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. 
+0

Wie sieht Ihr grodle Befehl aus? – RocketRaccoon

Antwort

0

Ich lief auch in dieses Problem. Ich hatte eine vorhandene Gradle-Konfiguration, die TestNG zum Testen verwendete, und ich entschied, dass ich eine XML-Konfiguration verwenden wollte, anstatt alle Tests in jeder Klasse unter src/test auszuführen (was das Standardverhalten ist).

Konnte nicht herausfinden, warum es nicht funktionierte, und dann traf es mich.

Gradle macht inkrementelle Builds. Nichts geschah, weil alle Testergebnisse (soweit Gradle betroffen war) aktuell waren.

Zuerst wurde ein 'Gradle clean' gemacht, dann wurden die Tests durchgeführt. Das hat funktioniert. (Ich kann nicht glauben, dass ich das vorher nicht herausgefunden habe, LOL)