2013-08-14 3 views
1

나는 100s의 테스트와 pom 내에 정의 된 종속성을 가진 레거시 프로젝트를 상속 받았습니다.intellij 내에서 maven 프로젝트의 유닛 테스트를 수행 할 수 없습니다

mvn 새로 설치를 명령 줄에서 실행할 때 모든 테스트가 실행되지만 Intellij 내에서 디버그 모드로 이러한 테스트 중 하나를 실행하려고하면 다음 오류가 발생합니다.

java.lang.NoClassDefFoundError가 다음 IDE에서 디버그 모드에서 테스트를 실행하려고 할 때

가 어떻게 이러한 종속성을 인식 인 IntelliJ를 얻을 수있는 클래스를 초기화 할 수 없습니다?

답변

2

내가 올바른 클래스 경로를 가리 키도록 간단히 실행 구성에서 작업 디렉토리 위치를 변경하여이 문제를 해결하기 위해 관리 : 그렇지 않으면, 정말 같은 디버그 구성을 사용하여 첨부 위의 다음 실행 위치. 기본 위치는 상위 프로젝트에서 가져온 것입니다.

0

IntelliJ에서 테스트를 디버깅 할 수 있다면 매우 편리 할 것입니다. 나는 거대한 프로젝트에서 비슷한 문제를 겪었고 그에 대한 해결 방법을 발견했다.

테스트를 디버깅하고자 할 때, 나는 종종 유용과 같이 원격 디버깅 세션을 사용하여 발견

:

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

그런 다음 포트 인 IntelliJ 내에서 원격 디버그 세션을 사용하여 위의에 부착 할 수 있습니다 8000.

따라서 테스트를 디버깅 할 때 Intelli에서 간단한 디버그가 작동하는지 먼저 확인합니다.

enter image description here

0

IntelliJ는 mvn 명령없이 단위 테스트를 실행합니다.

인 IntelliJ 플러그인 : MvnRunner

0

당신은 인 IntelliJ에 보기 받는다는 프로젝트 창을 사용하여 테스트를 실행할 수 있습니다 - 그럼 당신은 라이프 사이클 목표를 열고 테스트 할 프로젝트 또는 모듈에서 메이븐 프로젝트

- 도구 윈도우 테스트를 클릭하십시오.

현재 구성된 테스트 목표를 실행합니다. 이제 보고서가 대상 디렉토리에 기록됩니다.

https://github.com/destin/maven-test-support-plugin 을 사용하여 테스트 결과를 봅니다.

플러그인 프로젝트의 루트 프로젝트 창에서 다시 마우스 오른쪽 버튼으로 클릭를 설치 한은 "테스트 결과"를 선택되면 당신이 화면에 액세스 할 수 있습니다

행운

(받는다는 아이콘 이하이어야한다)
관련 문제