2011-09-23 1 views
0

멀티 모듈 메이븐 프로젝트가 있습니다. 모든 모듈에는 단위 테스트가 있습니다. 모든 모듈 이전에 새로 설치 테스트를 실행하고 한 모듈의 모든 테스트가 성공하면 성공적으로 빌드됩니다. 하나의 테스트 실패가 해당 모듈의 다른 모든 테스트가 성공적으로 실행되면 (또는 일부는 성공적으로 실행되고 다른 하나는 실패하는 경우) 첫 번째 실패 단위 테스트가 수행 한 모듈 빌드가 실패했습니다. 다른 모듈은 건너 뜁니다. 나는 모든 모듈에서 모든 유닛 테스트를 먼저 실행 한 다음, 실패한 테스트가없는 경우 모든 모듈을 빌드하거나 하나 또는 여러 모듈에 하나 이상의 실패한 테스트가있는 경우 모든 모듈의 빌드를 건너 뜁니다. 그걸로 나를 도울 수 있니?멀티 모듈 메이븐 프로젝트에서 빌드 단계 전에 유닛 테스트 실행

+0

왜 필요합니까? – Bozho

+0

답을 보내 주셔서 감사합니다. 문제는 모듈 간 종속성에 있습니다. 나는 그것이 불가능하다는 것을 이해한다. – user961245

답변

1

이 실행 도움이 다른 모듈에서 테스트를 실행하기 전에 종속 항아리를 빌드하십시오.

1

AFAIK 불가능합니다. Maven에서 허용되지 않는 빌드 빌드주기를 변경하려고합니다. 그러나 maven에 전달할 수있는 몇 가지 구성 매개 변수가 있으며 이는 테스트에 영향을 미칩니다.

mvn install -Dmaven.test.skip 

이것은 받는다는 중지하고 테스트 단계에서 오류가 있었다하더라도 모듈 구축 과정을 진행하지하게됩니다 모든

mvn install -Dmaven.test.failure.ignore=true 

에서 단위 테스트를 실행하지 않습니다. 당신이 (내가 당신을 가정) 모듈 간 종속성이있는 경우 바와 같이

mvn clean test 
mvn install -Dmaven.test.skip=true 

노트, 당신은 아마 정말,이 작업을 수행 할 수 필요 : 희망,이

0

문제는 :

모듈은 아마도 서로에 따라 종속성이, 그 종속성을 해결하기 위해, 당신은 순서대로 모듈을 구축해야하거나 컴파일하지 않습니다. 따라서 문제에 대한 제정신의 해결책은 없습니다.

미친 솔루션은 어쨌든 모든 하위 프로젝트의 소스 (및 외부 종속성)를 집계하고 해당 대기업에 compiletest을 실행합니다.하지만 그렇게하지 못한 것은 기발한 해킹 일 것입니다.