2015-12-14 17 views
5

Przeprowadzamy testy TestNG przy użyciu Gradle na Jenkins.Jak uniknąć kompilacji Jenkinsa, jeśli nie uruchomiono żadnych testów?

konfiguracyjne

Praca:
sekcja Build -> Wywołanie Gradle Script -> Wykorzystanie Gradle Owijarki -> Zadania:

clean test -Dgroups=myTestNGTestGroupName 

W Jenkins Console Output widzę dzienniki z realizacją gradlew.bat o określonych parametrach (jeden z nich to -Dgroups=myTestNGTestGroupName)).

Mamy wiele testów Jenkins zleceń i automatyzacji Selenium.
Od tego codziennie sprawdzamy tylko nieudane zlecenia.

Podczas testów refaktoryzacji TestNG nazwa grupy może zostać zmieniona lub może wystąpić literówka.
Jeśli zmieniono nazwę grupy testowej w repozytorium testowym i zapomniał zaktualizować Jenkins pracy:
testy są wykonywane, a praca jest nadal przechodzącego (build jest udany).

Jak mogę powiedzieć, aby Jenkins oznaczać kompilację jako nieudaną, jeśli nie wykonano żadnych testów?

Odpowiedz

2

TestNG generuje testng-results.xml plik za każdym razem po próbie uruchomienia
(nawet jeśli testy były wykonywane 0).

Możemy przeanalizować ten plik. Najprostszym rozwiązaniem, które znalazłem korzysta Text-finder Plugin
(co w moim przypadku został już dodany do Jenkins)

dodałem Jenkins Text Finder w Post-build Actions następująco: text-finder-plugin

Jak to wygląda w Jenkins konsoli logów wyjściowych:

BUILD SUCCESSFUL 

Total time: 42.105 secs 
Build step 'Invoke Gradle script' changed build result to SUCCESS 
Archiving artifacts 
Checking <testng-results skipped="0" failed="0" total="0" passed="0"> 
c:\jenkins\workspace\my-job-name\build\reports\tests\testng-results.xml: 
<testng-results skipped="0" failed="0" total="0" passed="0"> 
Build step 'Jenkins Text Finder' changed build result to UNSTABLE 
... 
Finished: UNSTABLE 
Powiązane problemy