여러 모듈이있는 프로젝트가 있습니다. 모든 테스트가 통과되면 Maven 테스트가 모두 실행됩니다.
첫 번째 모듈에서 테스트가 실패하면 maven은 다음 프로젝트를 계속하지 않습니다. Surefire 설정에서 testFailureIgnore를 true로 설정했지만 도움이되지 않습니다.
maven에서 모든 테스트를 실행하려면 어떻게합니까?
답변
로부터 메이븐 베더 문서 :
-fae
,--fail-at-end
이후에는 빌드 만 실패합니다. 영향을받지 않은 모든 빌드가 계속되도록 허용
-fn
,--fail-never
에 관계없이 프로젝트 결과, 빌드를 실패하지 마십시오
따라서 하나의 모듈을 테스트하는 것 보다 안전 -fae
합니다.
그렇지 않으면 여러 개의 모듈 이 있고 모든mvn clean install -fn
모듈을 테스트하려는 경우 (실패한 테스트 모듈에 의존하는 모듈도 포함)을 실행해야합니다 .
-fae
실패한 테스트 (다른 모든 테스트 실행)가있는 모듈은 계속되지만 해당 모듈에 종속 된 모든 모듈은 건너 뜁니다.
답변
방금 “-fae”매개 변수를 찾았는데, Maven은 모든 테스트를 실행하고 실패시 중지하지 않습니다.
답변
surefire 2.6으로 테스트하고를 사용하여 surefire를 구성 할 수 있습니다 testFailureIgnore=true
. 또는 명령 행에서 :
mvn install -Dmaven.test.failure.ignore=true
답변
루트 프로젝트 의 pom.xml에 surefire 플러그인에 대해 다음 구성을 추가하십시오 .
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
답변
빠른 답변 :
mvn -fn test
중첩 된 프로젝트 빌드와 함께 작동합니다.