inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 기반 REST API 개발

스프링 REST Docs 적용

junit5 에서의 spring-restdoce 설정

1679

박재욱

작성한 질문수 1

2

junit5 환경에서 테스트 중에 

REST Docs configuration not found. Did you forget to apply a MockMvcRestDocumentationConfigurer when building the MockMvc instance?

오류가 발생 하여 

찾아 보던중 

@ExtendWith({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 로 변경 될때 설정 사항은 링크 에서 확인 가능 합니다 

https://docs.spring.io/spring-restdocs/docs/current/reference/html5/#getting-started-documentation-snippets-setup

junit5 rest-api java spring

답변 2

2

백기선

문서를 보니, JUnit 5.1부터는 지금 박재욱님이 설정하신대로 설정하신 맞아 보입니다.

@AutoConfigureRestDocs API를 읽어보셨다면 짐작할 수 있겠지만 해당 애노테이션은 REST Docs에 들어갈 URI 등을 편하게 커스터마이징하도록 스프링 부트가 제공하는 것인데요. 지금 작성하신 @BeforeEach에서 호출하는 documentationConfiguration에서도 할 수 있는 일입니다. 따라서 문제될것 같지는 않고 다만 왜 @AutoConfigureRestDocs가 제대로 동작하지 않는지는 조금 더 시간을 써서 디버깅을 해봐야 알 수 있을 것 같습니다.

추후에 REST API 개발하기 프로젝트의 스프링 부트 버전을 올리고 Junit 5 테스트로 교체하는 수업을 추가로 만들어 보겠습니다.

감사합니다.

1

박재욱

네 감사합니다 @AutoConfigureRestDocs API문서도 확인 해보겠습니다 문서 읽는 습관을 기른다는게 잘 안되네요  그리고 금일 라이브 세미나도 잘보았습니다. 감사합니다. 

Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter

0

73

1

junit5 사용하시는 분들

0

87

1

자바 빈 스펙을 준수하는지 체크하는 테스트

0

236

2

REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러

0

242

1

스프링 부트 3버전에서의 실습

0

190

1

java.lang.AssertionError: Status

0

530

2

spring doc 관련 파일 생성 관련 배포 관련 질문 드립니다.

0

287

1

섹션2 201응답받기 부분 테스트 404에러 질문입니다

0

741

1

강의 자료가 404입니다 확인 부탁 드려요!

0

477

1

연동 DB문의

0

358

1

이벤트 Repository강의 중 Event 클래스에 private Integer Id; 위치 질문

0

505

1

(Mac) postgressql 관련하여 port kill 해도 다시 살아나는 경우

0

380

0

maven으로 생성한 docs파일(index.html)에서의 not found 오류 질문

0

621

1

테스트 오류 질문드립니다.

0

512

1

docs 요청값이 반영이 안되네요... (해결)

-1

394

1

psql 적용 후 에러

0

818

2

mvn package 시 다음과 같은 에러가 나시면

0

765

2

Event에 Account manager를 추가했으면 문서화 필요

0

274

1

2년 훨씬 전 부터 Restlet-> Talend API 로 바뀌었습니다~

1

473

1

asciidoc 추가 스니펫 에러 해결법

0

400

1

_links 는 현재 fieldWithPath 를 해주지 않아도 됩니다.

0

424

3

깃랩 처음 사용자를 위한 index.adoc raw 보는 법

0

332

1

eclipse 쓰시는 분을 위한 maven-resources-plugin 팁

0

333

1

부트 + jupiter 인 경우 설정법

0

342

1