2017-08-31 2 views
0

Ist es möglich, eine TestNG-Testsuite auszuführen, die über eine Gradle-Testaufgabe in eine JAR-Datei eingebettet ist?Angeben der xmlpathinjar TestNG-Option mit Gradle-Testaufgabe

Mein Projekt enthält JARed-Bundles von TestNG-Tests, die eine eingebettete Datei testng.xml enthalten, die definiert, welche Tests in der JAR ausgeführt werden sollen. Ist Gradle in der Lage, beim Ausführen der TestNG-Tests auf dieses eingebettete XML zu verweisen?

Von der Befehlszeile aus verwende ich die Option xmlpathinjar.

Antwort

1

Ich denke nicht, dass es mit der Aufgabe Gradle TestNG getan werden kann. Ich konnte keine solche Unterstützung in der Statt TestNGOptions

finden

test{ 
    useTestNG() 
} 

verwenden könnten Sie versuchen, auf SO How can I tell Gradle to use my testng.xml file for Test Classes and Ordering? durch diesen Beitrag gehen und vielleicht den Ansatz hier https://stackoverflow.com/a/28868416

ausführlich beschäftigen Aber wenn Sie Verwenden Sie eine benutzerdefinierte Gradle Aufgabe, um Ihre TestNG Tests auszuführen, stellen Sie sicher, dass Sie einen Verweis auf die ExitCodeListener

hinzufügen Hier ist ein Beispiel

task ('myTask', type: JavaExec) { 
    main = 'org.testng.TestNG' 
    classpath = sourceSets.main.runtimeClasspath + sourceSets.test.runtimeClasspath 
    args = ["-xmlpathinjar", "suites/mysuite.xml", "-listener", "org.testng.TestNG\$ExitCodeListener"] 
} 

Weitere Einzelheiten darüber, warum die ExitCodeListener Bedürfnisse bezeichnet werden, können gefunden werden here