• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

MockMvc 테스트 과정에서 Application context 가 로드가 안된다고 하네요

19.05.08 20:05 작성 조회수 293

0

제가 게시판을 개발하고 있었는데, 201 응답 받기 부분 강의를 들으면서 제 게시판에 MockMvc 테스트를 적용시키려고 해보았습니다.

 

git 주소 : https://github.com/mollder/dingue-mall

 

그런데 아래와 같은 에러가 발생해서 해결하려고 했는데 해결 방법을 알 수 없어서 질문 드립니다.

에러 화면들은 아래와 같습니다.

 

 

 

제 생각에는 애플리케이션은 잘 돌아가서

테스트 설정값에 문제가 있다고 예상은 했지만 제가 스프링 부트 테스트를

잘 몰랐고, 예상으로

클래스 이름이나, 패키징 구조, 애노테이션들을 수정해보았지만 잘 되지 않았습니다. 

도와주시면 감사하겠습니다.

테스트에서 Controller 패키지 내에 있는 PostControllerTests 클래스에서 생긴 문제입니다.

 

답변 4

·

답변을 작성해보세요.

2

흠.. 글쎄요. 이해가 잘 안되네요. DispatcherServletPath는 spring-rest-docs 쪽에서 오는거 같은데 스프링 부트 의존성이랑 무슨 관련이 있었을런지.. 그거 관련 자동 설정이 spring boot 2.0.4부터 들어간건가. 그렇다 하더라도 자동설정이 깨지면 안되는걸텐데.. 흠.. 의문이네요.

의존성은 보통 자주 교체하지는 않고 안정적인 버전이 배포되었을 때 한번에 맞춰서 올리죠. 스프링 부트가 그런면에서 많이 도움을 주고는 있지만 여전히 손이 많이 가긴 합니다.

1

DispatcherServeltPath라는 빈이 없다고 하는데 ErrorMvcConfiguration에서 그 빈을 찾고 있나봅니다. 빈 설정과 그 빈설정에서 등록하는 빈들을 다시 살펴보세요.

0

woody님의 프로필

woody

질문자

2019.05.09

음.. 좀 더 깊게 공부좀 해봐야겠네요 나중에 공부하고 궁금한점 생기면 다시 질문드리겠습니다. 답변 감사해요 ㅎㅎ

0

woody님의 프로필

woody

질문자

2019.05.09

문제 해결했습니다.

 

제가 gradle을 사용하는데 제가 사용하고 있던 dependency가 아래와 같았는데

 

DispatcherServletPath가 2.0.4에서 새로 추가된 내용이라고 뜨길래 혹시나 해서

 

아래와 같이 Spring boot starter hateoas의 버전을 2.0.3으로 맞춰주니까 잘 동작하네요

 

근데 기선님 원래 spring boot 의 경우 starter의존성을 안맞춰주면 원래 이런 오류가 자주 발생하나요?

그리고 실무에서는 보통 어떤식으로 의존성을 관리하시나요?