해결된 질문
작성
·
488
0
안녕하세요. 수업 감사히 잘 들었습니다.
spring security를 적용하면
@SpringBootTest 테스트 코드에서 아래 오류가 발생합니다.
test시 security 작용을 disable 시켜야 하는 건지 해결 방범이 궁금합니다.
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'resourcesController':
Unsatisfied dependency expressed through field 'methodSecurityService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'methodSecurityService' defined in file [path\security\service\MethodSecurityService.class]:
Unsatisfied dependency expressed through constructor parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext' available:
expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
답변 2
1
네
저의 개인적인 판단으로는 tdd 환경으로 스프링 시큐리티 테스트 하는 것을 그렇게 추천해 드리지는 않습니다.
물론 개인마다 차이가 있습니다.
tdd 는 세션이나 쿠키 생성 등 여러가지 설정에 있어서 제한 및 어려움이 있기도 하고 다양한 보안 환경을 구축하기가 쉽지 않습니다.
오류내용을 보면 의존관계에서 문제가 발생한 듯 합니다.
현재 제공해 드리는 소스가 tdd 에 맞추어서 작성된 것이 아니라서 원인에 대한 정확한 답변을 드리기가 쉽지 않네요
일단 스프링 시큐리티를 비활성화해서 진행해야 할 것 같습니다.
0
말씀하시는데 동의 합니다.
솔직히 application을 통채로 올리는 @SpringBootTest도 좋아하진 않습니다만...
어쨌든 강의 내용과 좀 동떨어진 질문이였네요.
답변 주셔서 감사합니다.
좋은 하루 되세요~