2009-06-17 6 views
20

Jest to związane z innym pytaniem, które zadałem o próbie niepowodzenia Hudsonowi przy niepowodzeniu testu pojedynczej jednostki.Hudson zakończył się sukcesem z niepowodzeniami testów jednostkowych

Kiedy uruchamiam Mavena na mojej samodzielnej wersji, nie działa z powodu błędów testu jednostkowego (działa mvn clean install), ale kiedy uruchomię go w Hudson, jest napisane, że wystąpił błąd z powodu niepowodzenia testu, ale kompilacja nadal działa poprawnie (i oznaczone jako niestabilne). jakieś pomysły?

+0

wygląda na to, że jest to decyzja Hudsona umieszczona w wersji 1.9.5 lub 1.9.6 –

Odpowiedz

22

Jaki typ pracy Hudson stworzyłeś? Podejrzewam, że to raczej projekt m2 niż projektu freestyle. W projekcie m2 Hudson dostosuje sposób, w jaki skonfigurowana jest pom, aby zapobiec awariom i zamiast tego oznaczyć ją jako niestabilną. To było zamierzone.

Spróbuj ustawić maven.test.failure.ignore=false w ustawieniach zaawansowanych, ponieważ uważam, że Hudson automatycznie ustawia to na true.

+0

dzięki bardzo. działało idealnie. –

+0

ha! Właśnie odkryłem to zachowanie dzisiaj. Jedna zmarszczka: Hudson z powodzeniem zbuduje mój projekt z nieudanymi testami jednostkowymi, ale w milczeniu nie zbuduje projektów, które od niego zależą. (Wybrałem, że projekty niższego poziomu zostaną odbudowane automatycznie, gdy zostaną zbudowane zależności migawki, jednak w tym przypadku tak się nie stanie, co było przyczyną znacznego drapania głowy dzisiaj.) – bendin

6

Konwencją Hudsona jest to, że będzie szukał tylko testów, jeśli kompilacja odniosła sukces. Jeśli kompilacja się nie powiodła, hudson interpretuje, że oznacza to, że wystąpił jakiś nieodwracalny błąd, który powodował, że kompilacja nie działała, i że nie było niektórych testów, które zawiodły.

To całkiem użyteczny mechanizm różnicowy, dlatego niestabilna (żółta) oznacza kompilację zakończoną i wszystkie testy były w stanie uruchomić, ale niektóre z nich się nie powiodły.

I błąd oznacza, że ​​budowa nie powiodło się, że nie można skompilować lub że istnieje jakiś inny nieodwracalny błąd, który powodował testy nie do uruchomienia, w tym przypadku Hudson nie zgłosi się na badanie jednostkowego stan.

0

istnieją również opcje Hudson w konfiguracji każdego zadania w celu określenia, jak działać, jeżeli budowa staje się niestabilny, takich jak, czy nie wysyłać e-maile itp