Używam Maven 3.2.3, JUnit 4.12 i SureFire 2.18.1 w Jenkins. Mam pracę Maven wielomodułowego skonfigurować z następującymi opcjami Mavena:Jenkins Maven buduje raporty sukcesu pomimo niepowodzenia testu jednostkowego
clean install -U -e -P qa -Dci -DskipITs
Jednak gdy uruchamiam moją Maven build, choć jeden z moich testów JUnit zawiedzie, moduł sam Maven donosi „sukces” (wyjście po) ...
Executing Maven: -B -f /var/lib/jenkins/workspace/subco/subco/pom.xml clean install -U -e -P qa -Dci -DskipITs
…
———————————————————————————
T E S T S
-------------------------------------------------------
Running org.mainco.subco.user.domain.UserTest
Tests run: 24, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.049 sec <<< FAILURE! - in org.mainco.subco.user.domain.UserTest
testHasRoleNullRoles(org.mainco.subco.user.domain.UserTest) Time elapsed: 0.006 sec <<< FAILURE!
java.lang.AssertionError: Failed to indicate we found right role for user.
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.assertTrue(Assert.java:41)
at
…
[INFO] Tests are skipped.
[JENKINS] Recording test results
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ othersubmodule ---
[INFO] Installing /var/lib/jenkins/workspace/subco/subco/othersubmodule/target/othersubmodule.war to /var/lib/jenkins/.m2/repository/org/mainco/subco/othersubmodule/83.0.0-SNAPSHOT/othersubmodule-83.0.0-SNAPSHOT.war
[INFO] Installing /var/lib/jenkins/workspace/subco/subco/othersubmodule/pom.xml to /var/lib/jenkins/.m2/repository/org/mainco/subco/othersubmodule/83.0.0-SNAPSHOT/othersubmodule-83.0.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] subco ....................................... SUCCESS [4.849s]
[INFO] database .......................................... SUCCESS [18.340s]
[INFO] session ........................................... SUCCESS [6.601s]
[INFO] main .............................................. SUCCESS [8:00.887s]
[INFO] mainclient ........................................ SUCCESS [4:01.490s]
[INFO] orders ............................................ SUCCESS [50.831s]
[INFO] SBD myproject Webapp .................................. SUCCESS [1:45.484s]
[INFO] subco Admin Module .......................... SUCCESS [1:01.318s]
[INFO] Other Submodule ................................ SUCCESS [6.162s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 16:20.351s
[INFO] Finished at: Thu Aug 20 21:17:57 UTC 2015
[INFO] Final Memory: 76M/748M
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/orgsclient/pom.xml to org.mainco.subco/orgsclient/83.0.0-SNAPSHOT/orgsclient-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/orgsclient/target/orgsclient.war to org.mainco.subco/orgsclient/83.0.0-SNAPSHOT/orgsclient-83.0.0-SNAPSHOT.war
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/pom.xml to org.mainco.subco/subco/83.0.0-SNAPSHOT/subco-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/myproject/pom.xml to org.mainco.subco/myproject/83.0.0-SNAPSHOT/myproject-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/myproject/target/myproject.war to org.mainco.subco/myproject/83.0.0-SNAPSHOT/myproject-83.0.0-SNAPSHOT.war
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/database/pom.xml to org.mainco.subco/database/83.0.0-SNAPSHOT/database-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/database/target/database-83.0.0-SNAPSHOT.jar to org.mainco.subco/database/83.0.0-SNAPSHOT/database-83.0.0-SNAPSHOT.jar
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/othersubmodule/pom.xml to org.mainco.subco/othersubmodule/83.0.0-SNAPSHOT/othersubmodule-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/othersubmodule/target/othersubmodule.war to org.mainco.subco/othersubmodule/83.0.0-SNAPSHOT/othersubmodule-83.0.0-SNAPSHOT.war
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/sbadmin/pom.xml to org.mainco.subco/sbadmin/83.0.0-SNAPSHOT/sbadmin-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/sbadmin/target/sbadmin.war to org.mainco.subco/sbadmin/83.0.0-SNAPSHOT/sbadmin-83.0.0-SNAPSHOT.war
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/main/pom.xml to org.mainco.subco/main/83.0.0-SNAPSHOT/main-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/main/target/main.jar to org.mainco.subco/main/83.0.0-SNAPSHOT/main-83.0.0-SNAPSHOT.jar
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/main/target/main-tests.jar to org.mainco.subco/main/83.0.0-SNAPSHOT/main-83.0.0-SNAPSHOT-tests.jar
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/orders/pom.xml to org.mainco.subco/orders/83.0.0-SNAPSHOT/orders-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/orders/target/orders.jar to org.mainco.subco/orders/83.0.0-SNAPSHOT/orders-83.0.0-SNAPSHOT.jar
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/session/pom.xml to org.mainco.subco/session/83.0.0-SNAPSHOT/session-83.0.0-SNAPSHOT.pom
[JENKINS] Archiving /var/lib/jenkins/workspace/subco/subco/session/target/session.jar to org.mainco.subco/session/83.0.0-SNAPSHOT/session-83.0.0-SNAPSHOT.jar
Sending e-mails to: [email protected] [email protected] [email protected] [email protected] [email protected]
kanał przestał Wysyłanie e-maili do: [email protected] Ostrzeżenie: nie masz żadnych wtyczek zapewniających kontrolę dostępu do buduje, więc spada z powrotem do zachowania spuścizny pozwalając każdy dalszy buduje zostanie wyzwolony Zakończone: NIESTABILNE
Jak mogę przekonać moduł Maven, aby zgłosił FAILURE, jeśli jeden z testów jednostkowych nie powiedzie się? Zdaję sobie sprawę, że ogólne raporty o budowaniu są UNSTABLE w Jenkins, ale dla czytelności, wolałbym SUCCESS, aby pokazać tylko jeśli wszystko minęło.
Edit: Oto murowany konfiguracja wtyczki
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<reuseForks>true</reuseForks>
<argLine>-Xmx2048m -XX:MaxPermSize=512M -noverify -XX:-UseSplitVerifier ${argLine}</argLine>
<skipTests>${skipAllTests}</skipTests>
</configuration>
</plugin>
Dostajesz więc Niestabilne i chcesz Niepowodzenie, czy to prawda? – Zloj
Myślę, że chce, aby maven nie zdał egzaminu, zamiast pokazywać sukces. Czy z ciekawości próbowałeś ręcznie ustawić ignorowanie niepowodzenia testu (http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#testFailureIgnore) na wartość false? –
Witam, chcę opisać to, co opisał spoonybard896 - kompilacja Mavena, aby zawieść, zamiast pokazywać sukces. Nie ustawiłem wyraźnie wymienionej właściwości. W tym moja konfiguracja surefire w przypadku, która dodaje do niej jasność. – Dave