서버/스프링(Spring)
[Spring/error] SpringJUnit4ClassRunner.class not found
도트7
2022. 6. 2. 02:48
스프링 프로젝트에서 테스트를 위해서 클래스를 생성하고 Runwith 어노테이션을 사용하려 했는데 제목과 같은 에러 메시지가 발생했고 문제점과 해결 방법은 다음과 같았다.
#1 sprint-test 의존성 주입의 부재
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
<scope>test</scope>
</dependency>
jUnit의 경우 별도의 작업을 하지 않아도 pom.xml에 등록되어 있지만 spring-test는 직접 추가해주어야 한다.
(Maven repository_spring-test : https://mvnrepository.com/artifact/org.springframework/spring-test)
#2 spring-context와 spring-test 버전
spring-context의 버전과 spring-test의 버전이 맞물리지 않을 경우 에러가 발생하는데 굳이 spring-context의 버전을 찾을 필요 없이 위와 같이 스프링 context 와 같은 변수를 사용한다.
#3 Project update
언제부턴가 수동으로 업데이트해주지 않고 ctrl + s 만 해주어도 업데이트가 되었다. 하지만 실수로 spring-test의 버전을 context와 다르게 주었을 때 ctrl+s 는 먹히지 않았다. 정확히는 하단의 상태 표시줄 우측 끝에 작업이 진행되는 듯한 프로그래스 바는 바쁘게 움직였지만 에러는 사라지지 않았다.
수동으로 [프로젝트 우클릭 → Maven → Update Project] 를 통해서 프로젝트를 업데이트 해준다.