Ich habe die Testng-Ergebnisse.xml in einem Git-Zweig hochgeladen und verwende das Git-Repository als Arbeitsbereich für den Jenkins-Job.TestNG Ergebnisse in Jenkins zeigt PASS, auch wenn Skript geändert wird, um fehlgeschlagenes Ergebnis zu erzeugen
Da die Tests, die ich mit Jenkins durchführe, Regressionstests sind, würde ich erwarten, dass die TestNG-Berichte in jedem Fall variieren, wenn ein Regressionsdefekt vorliegt. Ich habe festgestellt, dass die auf Jenkins angezeigten TestNG-Berichte nur eine lesbare Version der Datei testng-results.xml sind, also eine exakte Kopie der Datei testng-results.xml in meinem Arbeitsbereich.
Ich habe das Testskript ChromeTest.f() geändert absichtlich zum Scheitern verurteilt und nach wie vor die TestNG Ergebnisse in Jenkins markiert sie als PASS nach unten Bild:
.
Sie finden die testng-results.xml Datei unter:
<?xml version="1.0" encoding="UTF-8"?>
<testng-results skipped="0" failed="0" ignored="0" total="9" passed="9">
<reporter-output>
</reporter-output>
<suite name="Default suite" duration-ms="159837" started-at="2017-09-12T16:48:30Z" finished-at="2017-09-12T16:51:10Z">
<groups>
</groups>
<test name="Default test" duration-ms="159837" started-at="2017-09-12T16:48:30Z" finished-at="2017-09-12T16:51:10Z">
<class name="IETests">
<test-method status="PASS" signature="beforeTest()[pri:1, instance:[email protected]]" name="beforeTest" duration-ms="18341"
started-at="2017-09-12T09:48:30Z" finished-at="2017-09-12T09:48:49Z">
<reporter-output>
</reporter-output>
</test-method> <!-- beforeTest -->
<test-method status="PASS" signature="f()[pri:2,
instance:[email protected]]" name="f" duration-ms="99893" started-
at="2017-09-12T09:48:49Z" finished-at="2017-09-12T09:50:29Z">
<reporter-output>
</reporter-output>
</test-method> <!-- f -->
<test-method status="PASS" signature="afterTest()[pri:3,
instance:[email protected]]" name="afterTest" duration-ms="115"
started-at="2017-09-12T09:50:29Z" finished-at="2017-09-12T09:50:29Z">
<reporter-output>
</reporter-output>
</test-method> <!-- afterTest -->
</class> <!-- IETests -->
<class name="ChromeTest">
<test-method status="PASS" signature="beforeTest()[pri:4,
instance:[email protected]]" name="beforeTest" duration-ms="12606"
started-at="2017-09-12T09:50:29Z" finished-at="2017-09-12T09:50:41Z">
<reporter-output>
</reporter-output>
</test-method> <!-- beforeTest -->
<test-method status="PASS" signature="f()[pri:5,
instance:[email protected]]" name="f" duration-ms="1087" started-
at="2017-09-12T09:50:41Z" finished-at="2017-09-12T09:50:42Z">
<reporter-output>
</reporter-output>
</test-method> <!-- f -->
<test-method status="PASS" signature="afterTest()[pri:6,
instance:[email protected]]" name="afterTest" duration-ms="243"
started-at="2017-09-12T09:50:43Z" finished-at="2017-09-12T09:50:43Z">
<reporter-output>
</reporter-output>
</test-method> <!-- afterTest -->
</class> <!-- ChromeTest -->
<class name="FirefoxTest">
<test-method status="PASS" signature="beforeTest()[pri:7,
instance:[email protected]]" name="beforeTest" duration-ms="24220"
started-at="2017-09-12T09:50:43Z" finished-at="2017-09-12T09:51:07Z">
<reporter-output>
</reporter-output>
</test-method> <!-- beforeTest -->
<test-method status="PASS" signature="f()[pri:8,
instance:[email protected]]" name="f" duration-ms="3212" started-
at="2017-09-12T09:51:07Z" finished-at="2017-09-12T09:51:10Z">
<reporter-output>
</reporter-output>
</test-method> <!-- f -->
<test-method status="PASS" signature="afterTest()[pri:9,
instance:[email protected]]" name="afterTest" duration-ms="83"
started-at="2017-09-12T09:51:10Z" finished-at="2017-09-12T09:51:10Z">
<reporter-output>
</reporter-output>
</test-method> <!-- afterTest -->
</class> <!-- FirefoxTest -->
</test> <!-- Default test -->
</suite> <!-- Default suite -->
</testng-results>