Tuesday, December 11, 2018

Spring Boot Restdocs 테스트 실행시 오류 해결 - java.util.List.()

Restdocs에서 "java.lang.NoSuchMethodException: java.util.List.<init>()" 오류 해결 방법

Restdocs는 REST API를 테스트하는 데 유용한 도구이지만, 사용법이 복잡하고 번거로운 면이 있습니다. 최근에 Restdocs를 사용하면서 "java.lang.NoSuchMethodException: java.util.List.<init>()" 오류를 만났습니다. 이 오류는 컨트롤러에서 파라미터로 리스트를 받는 부분에서 발생했습니다.

이 오류를 해결하기 위해 많은 자료를 검색했지만, 명확한 해결 방법을 찾을 수 없었습니다. 하지만 계속해서 오류를 분석하던 중, 해결 방법을 찾을 수 있었습니다.

해결 방법은 컨트롤러에서 파라미터로 받는 리스트를 배열로 변경하는 것입니다. 즉, 다음과 같이 변경하면 오류가 해결됩니다.


// Before
public String getSomething(List<String> stringList) {

}

// After
public String getSomething(String[] stringArray) {

}

이 오류의 원인은 webMvcTest에서 List를 제대로 찾지 못하기 때문입니다. 스프링 부트의 자동 설정은 매우 편리하지만, 이런 경우에 조금 헷갈리게 되는 상황이 발생합니다.

이 글이 Restdocs를 사용하면서 오류를 겪고 있는 분들에게 도움이 되기를 바랍니다.


0 개의 댓글:

Post a Comment