인프런 커뮤니티 질문&답변

강프로그래머님의 프로필 이미지
강프로그래머

작성한 질문수

Spring framework 개발 환경 구축하기와 Dao 리팩토링하기

토비의 스프링3 1장 94~137

[해결 방법] Autowired가 적용이 안되는 문제 + context에서 NullPointerException

해결된 질문

작성

·

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가 제대로 동작하지 않는 문제와 관련하여 몇 가지 확인해야 할 사항을 안내해 드리겠습니다:

  1. JUnit 버전 확인: build.gradle 파일에 junit-jupiter 관련 의존성을 추가해 주셨는데, 이는 JUnit 5를 사용한다는 의미입니다. JUnit 5를 사용할 때는 테스트 클래스에서 @ExtendWith(SpringExtension.class)를 추가해야 합니다.

  2. Spring Boot Test 의존성 확인: Spring 환경에서 자동 설정과 DI(의존성 주입)를 테스트하려면 spring-boot-starter-testbuild.gradle에 추가하는 것이 좋습니다.

   testImplementation 'org.springframework.boot:spring-boot-starter-test'
  1. @SpringBootTest 애노테이션 사용: 테스트 클래스에 @SpringBootTest 애노테이션을 추가하여 스프링 부트를 통합 테스트 환경에서 실행할 수 있도록 설정합니다.

  2. Bean 설정 확인: @Autowired로 주입하려는 빈이 스프링 컨텍스트 내에 정상적으로 등록되어 있는지 확인해 보세요. 이를 위해 Spring Configuration 클래스나 컴포넌트 스캔 경로를 확인해야 합니다.

만약 이것이 문제를 해결하는데 도움이 되지 않는다면, NullPointerException이 발생하는 부분의 스택 트레이스를 함께 제공해 주시면 추가적인 도움을 드릴 수 있을 것 같습니다.

추가적인 테스트 구성 방법에 관한 공식 문서는 다음 링크에서 확인하실 수 있습니다:
Spring Boot Testing Reference

도움이 되셨기를 바랍니다!

강프로그래머님의 프로필 이미지
강프로그래머

작성한 질문수

질문하기