인프런 커뮤니티 질문&답변
단위/통합 테스트 버전충돌 문제
작성
·
28
0
취준생으로서 아주 유용하게 강의를 듣고있습니다. 그런데 테스트코드를 실행할 때 현재상황에서 기본설정된 junit6이 지원되지않는 상황이고 build.gradle 의존성에서 junit5로 지정변경하고 테스트 케이스를 작성하고 실행할때 junit5와 6이 버전충돌해서 테스트코드가 실행이 안됩니다. 어떻게 해결해야 할까요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. No Name님의 질문에 도움을 드리기 위해 관련 정보를 제공하겠습니다.
문제 설명
현재 JUnit6은 공식적으로 존재하지 않으며, 아마도 JUnit5와 관련된 설정 오류일 가능성이 큽니다. JUnit5는 Jupiter, Vintage, Platform 세 가지 모듈로 나눠져 있으며, 각각의 모듈은 JUnit5의 기능을 지원합니다. 의존성 설정에서 문제가 있을 경우 충돌이 발생할 수 있습니다.
해결 방법
- build.gradle 수정: JUnit5를 사용할 경우 다음과 같이 설정하면 됩니다.
// JUnit5 의존성 추가
testImplementation 'org.junit.jupiter:junit-jupiter:5.x.x'
// JUnit4를 사용하지 않을 경우, 제거
//testImplementation 'org.junit.vintage:junit-vintage-engine'
JUnit4 제거: JUnit5만 사용하고자 한다면, JUnit Vintage 엔진을 삭제하여 JUnit4와의 충돌 가능성을 제거하십시오.
테스트 클래스 확인: 테스트 클래스의 import 문을 확인하여 전부 JUnit5 (org.junit.jupiter) 패키지를 사용하고 있는지 확인합니다.
Gradle Refresh:
build.gradle을 수정한 후에는 Gradle 프로젝트를 다시 리프레시하여 변경사항이 반영되도록 합니다.
추가 조언
- JUnit 공식 문서 확인: JUnit5의 공식 문서를 참조하여 최신 설정 방법을 확인하세요.
- 사용하지 않는 의존성 제거: 불필요한 의존성이 포함되어 있지 않도록 주의합니다.
이러한 방법으로 JUnit5에서의 테스트 설정 문제를 해결할 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





