Korzystając z plików intellij i maven pom, w jaki sposób mogę debugować testy uruchamiane w ramach celu testu Maven?
Kiedy uruchamiam je bezpośrednio w kodzie, narzeka coś o brakujących profilach, co zaznaczyłem w Intellij's Maven Projects.
Odpowiedzi:
A co z prawym przyciskiem myszy na cel i „Debuguj [swój cel]” (w Twoim przypadku cel testowy)?
http://maven.apache.org/plugins/maven-surefire-plugin/examples/debugging.html
W IDEA uruchom test w trybie debugowania „ mvn -DforkMode=never test
”
Zaktualizowano : otwórz konfigurację uruchamiania / debugowania, w zakładce „Runner” dodaj-DforkMode=never
(Notowane przez @ mikeapr4: nowsze wersje wtyczki surefire (2.14+) używają mvn -DforkCount=0 test
)
mvn -DforkCount=0 test
, jest to wspomniane poniżej w innych (mylących) odpowiedziach, ale można je przeoczyć.
Wykonuję testy z następującymi opcjami:
mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=6666 -Xnoagent -Djava.compiler=NONE" test
... a następnie połącz się z Maven za pomocą zdalnego debuggera.
-DforkMode=never
już nie działa, jest teraz przestarzała w SureFire.
Użyj -DforkCount=0
zamiast tego, gdy używasz pewnej wtyczki 2.14+.
forkCount
i reuseForks
, więc myślę, że powyższe miało powiedzieć „Użyj -DforkCount=0
zamiast tego”. Próbowałem -DforkCount=0
( reuseForks
nie powinno mieć znaczenia, jeśli nie ma widelców), ale mój punkt przerwania nigdy się nie wyłączył. Działa z -DforkMode=never
(Maven 3.2.1, IDEA 13.1.2).
Odpowiedź na pytanie. Ale żeby podzielić się własnym doświadczeniem. Wybrana odpowiedź nie rozwiązała mojego problemu. Mój kod ma wiele modułów.
Odpowiedź foolshata przyniosła cenny wgląd w mój problem.
Mam dwa rozwiązania, 1. Używając swojego IDEA, dodając opcję VM -DforkMode=never
; Należy go uruchomić w trybie debugowania. 2. Skonfiguruj zdalne debugowanie , określając gniazdo iw tym przypadku forkMode nie jest konieczny.
To tylko podsumowanie tego, przez co przeszedłem.
Rozwiązanie od Colina Heberta też mi nie odpowiada. Ale na szczęście znalazłem łatwy sposób na debugowanie testu, klikając prawym przyciskiem myszy zielony trójkąt, który pojawia się obok metody testowej:
Mam nadzieję, że to ci pomoże!