아래와 같이 Kotlin + Spring Boot + Redis 연동 코드를 작성하였다. Redis 연동 코드는 여기, Repository 테스트코드는 여기를 참고하였다.
@RedisHash("members")
data class Members(
...
)
interface MembersRepository : CrudRepository<Members, String>
@DataJpaTest
class MembersRepositoryTest @Autowired constructor (
private val membersRepository: MembersRepository
) {
...
}
그리고 테스트 실행 시 아래와 같은 에러가 발생했다
No qualifying bean of type 'com.example.demo.repository.MembersRepository' available: expected at least 1 bean which qualifies as autowire candidate.
원인은 Members
가 Entity가 아니기 때문이다. 따라서 애초에 @DataJpaTest
어노테이션을 쓸 수 없는 대상이었다😓
다음과 같이 코드를 수정하면 정상동작하는 것을 확인할 수 있다.
@SpringBootTest
class MembersRepositoryTest @Autowired constructor (
private val membersRepository: MembersRepository
) {
...
}
전체 코드는 여기서 확인할 수 있다.