>  기사  >  내 pom에서 JUnit5를 사용하고 있지만 Maven Surefire 플러그인의 기본값은 여전히 ​​JUnit4입니다.

내 pom에서 JUnit5를 사용하고 있지만 Maven Surefire 플러그인의 기본값은 여전히 ​​JUnit4입니다.

WBOY
WBOY앞으로
2024-02-13 14:00:10504검색

내 pom에서 JUnit5를 사용하더라도 maven Surefire 플러그인의 기본값은 여전히 ​​JUnit4입니다. 이로 인해 특히 JUnit5의 새로운 기능을 사용할 때 몇 가지 문제가 발생할 수 있습니다. 이 문제를 해결하기 위해 pom 파일을 구성하여 Surefire 플러그인이 JUnit5를 기본 테스트 실행기로 사용하도록 지시할 수 있습니다. pom 파일의 빌드 태그에 플러그인 태그를 추가하고 그 안에 maven-surefire-plugin을 구성해야 합니다. 구성에서 testFrameworkProviderName을 org.junit.platform.surefire.provider.JUnitPlatformProvider로 지정해야 합니다. 이렇게 하면 mvn test 명령을 실행할 때 Surefire 플러그인이 JUnit5를 사용하여 테스트를 실행합니다. 이 구성을 사용하면 JUnit5를 사용하는 동안 정상적으로 테스트를 실행할 수 있습니다.

질문 내용

이 글을 읽었습니다. 제 부모님 폼이에요:

으아아아

하위 프로젝트에 junit 依赖项。当我运行 mvn install가 없으면 다음이 표시됩니다.

으아아아

자동으로 감지되는 공급자는 왜 org.apache.maven.surefire.junit4.junit4provider인가요? junit5를 사용해야합니다!

달릴 때 mvn dependency:tree 다음이 보입니다:

으아아아

내가 pom.xml 中没有使用版本 5.9.31.9.3 。我正在使用 junit-bom:5.10.1에 있어서 그것도 이상해요.

Maven이 한번 제대로 작동하지 않는 이유와 이유는 무엇인가요?

솔루션

이유는 다음과 같습니다.

으아아아

종속성 트리에서. pom.xml 中对 junit-platform-runner의 종속성을 제거하면 문제가 해결되었습니다.

저의 경우에는 spring-boot-dependency:3.1.5 在我的 dependencymanagement 中,它优先于 junit-bom:5.10.1spring-boot-dependency:3.1.5 具有对 junit-bom:5.9.3라는 이관적 참조도 인용했기 때문입니다.

위 내용은 내 pom에서 JUnit5를 사용하고 있지만 Maven Surefire 플러그인의 기본값은 여전히 ​​JUnit4입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제