[Practical Testing: 실용적인 테스트 가이드]

섹션 9. Appendix

📌 학습 테스트

  • 잘 모르는 기능, 라이브러리, 프레임워크를 학습하기 위해 작성하는 테스트
  • 여러 테스트 케이스를 스스로 정의하고 검증하는 과정을 통해 보다 구체적인 동작과 기능을 학습할 수 있다.
  • 관련 문서만 읽는 것보다 훨씬 재미있게 학습할 수 있다.

📍 Guava

구글에서 오픈소스로 제공하는 라이브러리.

📑 공식문서 : https://github.com/google/guava

// 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


📑 출처

profile
나는 말하는 감자다

0개의 댓글