sourcecode

Maven이 모든 테스트를 실행하도록 하는 것, 심지어 일부 실패 시에도

copyscript 2022. 9. 17. 09:51
반응형

Maven이 모든 테스트를 실행하도록 하는 것, 심지어 일부 실패 시에도

저는 여러 모듈로 이루어진 프로젝트가 있습니다.모든 테스트가 통과하면 Maven 테스트가 모든 테스트를 실행합니다.

첫 번째 모듈에서 테스트가 실패하면 maven은 다음 프로젝트로 넘어가지 않습니다.Surefire 설정에서 testFailureIgnore를 true로 설정했지만 도움이 되지 않습니다.

이전 실패에 관계없이 모든 테스트를 어떻게 메이븐에서 실행합니까?

Maven Embedder 문서:

-fae,--fail-at-end 이후 빌드만 실패, 영향을 받지 않는 모든 빌드 계속 허용

-fn,--fail-never 프로젝트 결과에 관계없이 빌드에 실패하지 않음

따라서 안전한 모듈 1개를 테스트하는 경우-fae.

그렇지 않으면 여러 모듈이 있고 모든 모듈을 테스트하는 경우(장애 테스트모듈에 따라 달라지는 모듈도 포함)를 실행해야 합니다.
-fae는 불합격 테스트(기타 모든 테스트 실행)가 있는 모듈로 계속 진행되지만 이에 의존하는 모듈은 모두 건너뜁니다.

제가 방금 찾은 건-faeMaven이 모든 검정을 실행하고 고장 발생 시 중지하지 않도록 하는 매개 변수입니다.

Surefire 구성 중 하나<testFailureIgnore>true</testFailureIgnore>.

또는 명령줄에서 다음을 수행합니다.

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

중첩된 프로젝트 빌드와 함께 작동합니다.

언급URL : https://stackoverflow.com/questions/4174696/making-maven-run-all-tests-even-when-some-fail

반응형