작성
·
1.5K
2
junit5 환경에서 테스트 중에
REST Docs configuration not found. Did you forget to apply a MockMvcRestDocumentationConfigurer when building the MockMvc instance?
오류가 발생 하여
찾아 보던중
({RestDocumentationExtension.class, SpringExtension.class}) public class JUnit5ExampleTests {
이렇게 진행 하라는 가이드가 확인 되어
@SpringBootTest
@AutoConfigureMockMvc
//@AutoConfigureRestDocs
@ExtendWith({RestDocumentationExtension.class, SpringExtension.class})
public class EventControllerTests {
위와 같이 설정 하고
@BeforeEach
public void setup(WebApplicationContext webApplicationContext,
RestDocumentationContextProvider restDocumentation) {
this.mockMvc = MockMvcBuilders.webAppContextSetup(ctx)
.addFilters(new CharacterEncodingFilter("UTF-8", true)) // 필터 추가
.apply(documentationConfiguration(restDocumentation))
.build();
}
setup 추가 하여 진행 하였습니다. 혹시 다른 확인사항이나
@AutoConfigureRestDocs 이 적용이 안되는듯 한데
이게 적용이 안되면 다른 문제가 있는걸까요?
junit4 에서 junit5 로 변경 될때 설정 사항은 링크 에서 확인 가능 합니다
답변 2
2
문서를 보니, JUnit 5.1부터는 지금 박재욱님이 설정하신대로 설정하신 맞아 보입니다.
@AutoConfigureRestDocs API를 읽어보셨다면 짐작할 수 있겠지만 해당 애노테이션은 REST Docs에 들어갈 URI 등을 편하게 커스터마이징하도록 스프링 부트가 제공하는 것인데요. 지금 작성하신 @BeforeEach에서 호출하는 documentationConfiguration에서도 할 수 있는 일입니다. 따라서 문제될것 같지는 않고 다만 왜 @AutoConfigureRestDocs가 제대로 동작하지 않는지는 조금 더 시간을 써서 디버깅을 해봐야 알 수 있을 것 같습니다.
추후에 REST API 개발하기 프로젝트의 스프링 부트 버전을 올리고 Junit 5 테스트로 교체하는 수업을 추가로 만들어 보겠습니다.
감사합니다.
1
네 감사합니다 @AutoConfigureRestDocs API문서도 확인 해보겠습니다 문서 읽는 습관을 기른다는게 잘 안되네요 그리고 금일 라이브 세미나도 잘보았습니다. 감사합니다.