해결된 질문
작성
·
47
·
수정됨
0
build.gradle 추가
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.3'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.3'
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
강프로그래머님, @Autowired
가 제대로 동작하지 않는 문제와 관련하여 몇 가지 확인해야 할 사항을 안내해 드리겠습니다:
JUnit 버전 확인: build.gradle
파일에 junit-jupiter
관련 의존성을 추가해 주셨는데, 이는 JUnit 5를 사용한다는 의미입니다. JUnit 5를 사용할 때는 테스트 클래스에서 @ExtendWith(SpringExtension.class)
를 추가해야 합니다.
Spring Boot Test 의존성 확인: Spring 환경에서 자동 설정과 DI(의존성 주입)를 테스트하려면 spring-boot-starter-test
를 build.gradle
에 추가하는 것이 좋습니다.
testImplementation 'org.springframework.boot:spring-boot-starter-test'
@SpringBootTest
애노테이션 사용: 테스트 클래스에 @SpringBootTest
애노테이션을 추가하여 스프링 부트를 통합 테스트 환경에서 실행할 수 있도록 설정합니다.
Bean 설정 확인: @Autowired
로 주입하려는 빈이 스프링 컨텍스트 내에 정상적으로 등록되어 있는지 확인해 보세요. 이를 위해 Spring Configuration 클래스나 컴포넌트 스캔 경로를 확인해야 합니다.
만약 이것이 문제를 해결하는데 도움이 되지 않는다면, NullPointerException
이 발생하는 부분의 스택 트레이스를 함께 제공해 주시면 추가적인 도움을 드릴 수 있을 것 같습니다.
추가적인 테스트 구성 방법에 관한 공식 문서는 다음 링크에서 확인하실 수 있습니다:
Spring Boot Testing Reference
도움이 되셨기를 바랍니다!