[Practical Testing: 실용적인 테스트 가이드]
섹션 9. Appendix
📌 학습 테스트
- 잘 모르는 기능, 라이브러리, 프레임워크를 학습하기 위해 작성하는 테스트
- 여러 테스트 케이스를 스스로 정의하고 검증하는 과정을 통해 보다 구체적인 동작과 기능을 학습할 수 있다.
- 관련 문서만 읽는 것보다 훨씬 재미있게 학습할 수 있다.
📍 Guava
구글에서 오픈소스로 제공하는 라이브러리.
📑 공식문서 : https://github.com/google/guava
implementation("com.google.guava:guava:33.3.1-jre")
📌 Spring REST Docs
API 문서를 만들 수 있는 도구들 중 하나.
구현한 API를 문서로 만들고 싶다! 혹은 API를 만들기 전에 명세하고 싶다! 할 때 사용한다.
- 테스트 코드를 통한 API 문서 자동화 도구
- API 명세를 문서로 만들고 외부에 제공함으로써 협업을 원활하게 한다.
- 기본적으로 AsciiDoc을 사용하여 문서를 작성한다.
AsciiDoctor
AsciiDoc 문법을 html로 변환해주는 사이트
https://asciidoctor.org/
📍 REST Docs
장점
- 테스트를 통과해야 문서가 만들어진다. (신뢰도가 높다.)
- 프로덕션 코드에 비침투적이다.
단점
📍 Swagger
장점
- 적용이 쉽다.
- 문서에서 바로 API 호출을 수행해볼 수 있다.
단점
- 프로덕션 코드에 침투적이다. (어노테이션들을 Controller에 달아서 문서를 작성하게 되는데 이로 인해 프로덕션 코드가 지저분해질 수 있다.)
- 테스트와 무관하기 때문에 신뢰도가 떨어질 수 있다.
📍 STS에서 docs가 생성된 파일이 안보인다면
Package Explorer > Filters... > Gradle build folder 체크 해제 > OK
📑 출처