Testowanie w maven - dwa pluginy jednoczesnie

0

Witam, mam proste pytanie. Powoli przesiadam sie z ANTa na Mavena. Z tego co widze Maven build lifecycle zawiera faze "test", pomiedzy "compile" a "package". Za wywolywanie testow domyslnie odpowiada surefire plugin.
Moje pytanie to: czy mozna uzywac jednoczesnie surefire i failsafe plugins? Do testow jednostkowych i testow integracyjnych? Probowalem uzyc obu naraz i jednostkowe zostaly uruchomione, potem jetty sie uruchomil i zakladalem, ze wtedy rusza te *IT.java, ale niestety nie.

0

http://maven.apache.org/ref/3.2.3/maven-core/lifecycles.html tu masz kolejnosć wykonywania poszczególnych faz. Failsafe działa w fazie verify, która jest po fazie package. Odpal mvn clean verify.

0

Racja, dzieki, cos pokrecilem z tymi fazami, ale wywolywalem "maven install", wiec chyba powinno zlapac "integration test" i tak :/
Moje klasy i klasy testowe sa w innym projekcie niz ten z ktorego uruchamiam Jetty, ale w pom w konfiguracji dodalem <testClassesDirectory> i sciezke do odpowiedniego (tak mi sie wydaje) miejsca. Wedlug dokumentacji ta sciezka powinna wskazywac na skompilowane klasy testowe mojej aplikacji. Czy tu chodzi o lokacje w strukturze projektu Eclipse? Chyba raczej o ta na dysku :/
Dla testu dodalem prosta usluge @GET i gdy Jetty sie uruchomil wywolalem ja przez przegladarke na odpowiednim porcie. Odpowiedz byla prawidlowa, wiec Jetty sie poprawnie uruchomil i aplikacja pomyslnie "wdrozona". Tylko moj blablaIT.java test sie nie uruchomil, tak jakby failsafe-plugin go nie widzial albo nie rozpoznawal.

0

Nie ma potrzeby dodawać tego znacznika ponieważ maven i tak skonfiguruje tu domyślne położenie w stosunku do danego modułu. Jedyne co musisz zrobić to w surefire wyłączyć za pomocą exclude testy pasujące do *ITest by nie odpalać ich z czasie test.

Co do tej przeglądarki, to mnie zabolało, bo chyba robisz te testy manualnie (bardzo zły pomysł). Testy integracyjne nie służą do klikania.

0

Hej, dzieki za odpowiedz. Surefire w ogole jakby nie widzial tych *IT.java testow, nie uruchamia ich w fazie "test" nawet bez exclude.
Przez przegladarke tylko sprawdzalem, czy Jetty na pewno wystartowal (w konsoli jest napisane, ze tak, ale to jeszcze nie znaczy, ze wystartowal :P ) i czy moja aplikacja tam siedzi. Mozna jakos zwiekszyc dokladnosc logow, moze wtedy znajde przyczyne pomijania IT :/

0

mvn clean install -X przełacznik -X włącza debug

0

Ha, znalazlem - maven szukal klas testowych w zlym miejscu. Do zamkniecia (jesli zamyka sie tutaj tematy). Dzieki za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1