강의

멘토링

로드맵

Inflearn コミュニティ Q&A

yongjung957439 のプロフィール画像
yongjung957439

投稿した質問数

【スプリングバッチ入門】例で学ぶコア Spring Batch

良いコードの基本的なテストコードを書く

테스트 코드 실행 시 에러

作成

·

580

·

編集済み

0

안녕하세요.

success_noData() 테스트 코드를 테스트 하는 중에 에러가 발생하여 질문 남겨봅니다!

 

 

에러는 다음과 같습니다!

 

Description:

Parameter 0 of constructor in com.example.SpringBatchTutorial.job.dbDataReadWrite.TrMigrationConfig required a bean of type 'com.example.SpringBatchTutorial.core.domain.orders.OrdersRepository' that could not be found.

Action:

Consider defining a bean of type 'com.example.SpringBatchTutorial.core.domain.orders.OrdersRepository' in your configuration.

 

이와 같은 에러가 발생하는데 해결 방법을 부탁드립니다!

spring-batch

回答 2

0

mjcoding님의 프로필 이미지
mjcoding
インストラクター

문제를 해결을 하셨지만, 답변 리스트에 미답변으로 남아 있어 답글을 하나 등록 하도록 하겠습니다.

앗 죄송합니다...

제가 질문을 처음 남기는 거여서 이제야 확인 후 변경했네요 😭

0

코드를 천천히 읽어보면서 해결은 했습니다.

SpringBatchTestConfig.class 파일의 위치가 com.example.SpringBatchTutorial.job 에 있어서 오류가 생긴 거더라구요.

com.example.SpringBatchTutorial.job 으로 옮기니 해결되었는데, 해당 파일의 위치가 중요한가요??

mjcoding님의 프로필 이미지
mjcoding
インストラクター

용정님 안녕하세요.
문제는 해결을 하셨군요 :)
상황과 말씀을 들어 보니 스프링 프레임워크 내용과 관련한 이슈로 생각이 돼요.
결론부터 말씀을 드리면 파일경로도 중요해요 :) 해당 패키지 위치부터 스프링 프레임워크가 스캔을 해서 빈을 등록을 하기 때문이에요.
(패키지 경로는 자바 파일 최상단에서 확인할 수 있습니다.)

오류가 발생한 경우 com.example.SpringBatchTutorial.job 위치에 있을 때는 com.example.SpringBatchTutorial.job 패키지 위치부터 스프링에서 빈을 등록을 하게 됩니다.
com.example.SpringBatchTutorial.job 패키지 하위에는 OrdersRepository 를 찾을 수 없어서 의존성 주입이 안되어 에러가 발생을 하였는데요.
com.example.SpringBatchTutorial 패키지 위치에 있을 때는 해당 위치부터 스캔을 시작하여 하위에 있는 OrdersRepository 를 찾을 수 있겠습니다.

감사합니다 ^^

이해했습니다!

답변 감사합니다!!

죄송하지만 추가 질문이 있습니다..

테스트 코드를 실행하지만 실제 com.example.SpringBatchTutorial 패키지 하위의 bean 들을 스캔해서 등록하여 테스트 코드를 실행한다고 이해하면 될까요??

mjcoding님의 프로필 이미지
mjcoding
インストラクター

네!! 말씀해주신 내용이 맞습니다 :)
@SpringBootTest 어노테이션에 의해서 등록이 되고 테스트 코드가 실행이 되겠습니다 😀😀

yongjung957439 のプロフィール画像
yongjung957439

投稿した質問数

質問する