작성
·
439
·
수정됨
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.
이와 같은 에러가 발생하는데 해결 방법을 부탁드립니다!
답변 2
0
0
코드를 천천히 읽어보면서 해결은 했습니다.
SpringBatchTestConfig.class 파일의 위치가 com.example.SpringBatchTutorial.job 에 있어서 오류가 생긴 거더라구요.
com.example.SpringBatchTutorial.job 으로 옮기니 해결되었는데, 해당 파일의 위치가 중요한가요??
용정님 안녕하세요.
문제는 해결을 하셨군요 :)
상황과 말씀을 들어 보니 스프링 프레임워크 내용과 관련한 이슈로 생각이 돼요.
결론부터 말씀을 드리면 파일경로도 중요해요 :) 해당 패키지 위치부터 스프링 프레임워크가 스캔을 해서 빈을 등록을 하기 때문이에요.
(패키지 경로는 자바 파일 최상단에서 확인할 수 있습니다.)
오류가 발생한 경우 com.example.SpringBatchTutorial.job 위치에 있을 때는 com.example.SpringBatchTutorial.job 패키지 위치부터 스프링에서 빈을 등록을 하게 됩니다.
com.example.SpringBatchTutorial.job 패키지 하위에는 OrdersRepository 를 찾을 수 없어서 의존성 주입이 안되어 에러가 발생을 하였는데요.
com.example.SpringBatchTutorial 패키지 위치에 있을 때는 해당 위치부터 스캔을 시작하여 하위에 있는 OrdersRepository 를 찾을 수 있겠습니다.
감사합니다 ^^
이해했습니다!
답변 감사합니다!!
죄송하지만 추가 질문이 있습니다..
테스트 코드를 실행하지만 실제 com.example.SpringBatchTutorial 패키지 하위의 bean 들을 스캔해서 등록하여 테스트 코드를 실행한다고 이해하면 될까요??
앗 죄송합니다...
제가 질문을 처음 남기는 거여서 이제야 확인 후 변경했네요 😭