2011-07-01 8 views
6

Pracuję z projektem Maven złożonym z wielu artefaktów, w którym artefakty w projekcie mają kilka zależności od siebie. Używam IntelliJ 9. Chciałbym móc ustawić punkty przerwania w moich testach jednostkowych, ale kiedy kliknę prawym przyciskiem myszy folder testów jednostek dla mojego artefaktu i wybiorę "Debugowanie" wszystkich testów ", otrzymam klasę nie znaleziono wyjątek odnoszący się do klasy w osobnym artefakcie Mavena.Jak mogę uruchomić debugger IntelliJ w testach jednostkowych w projekcie Maven?

Mogę uruchomić cel testowy Maven na artefakcie nadrzędnym i działa dobrze.

Wszelkie pomysły? Dzięki.

Odpowiedz

1

Chciałem przeprowadzić testy jednostkowe dla określonej paczki.

Udało mi się uruchomić to zadanie, tworząc nową konfigurację uruchamiania/debugowania JUnit w IntelliJ. Powiedziałem mu, aby uruchomić testy w konkretnym pakiecie i "Użyj ścieżki klas i JDK modułu", wybrałem główny artefakt Maven.

9

Po uruchomieniu Maven z linii poleceń, będziesz mógł uruchomić go z włączonym debuggerem i po prostu dołączyć Idea jako zdalny debugger. Tak zwykle go używam.

mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE" test 

Zobacz http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html

Umożliwi to podłączenie debugera do portu 8000 i czekać, aby dołączyć przed egzekucją.

+0

Dzięki za wskazówki. Udało mi się to zrobić, modyfikując konfigurację JUnit run/debug w IntelliJ. –

+0

Myślę, że nie byłoby to dla mnie zbyt wydajne, ponieważ chcę tylko uruchomić testy jednostkowe dla konkretnego pakietu ... Musiałbym uruchomić test mvn na rdzeniu POM, który wykonałby wszystkie testy jednostkowe. –

+0

zawsze używaj -Dest, jak opisano tutaj. Ale jeśli rozwiązałeś to w Idea - świetnie! –

Powiązane problemy