Skip to content

백엔드 테스트 가이드

김석홍 edited this page Mar 28, 2023 · 3 revisions

테스트 구분

  • 인수 테스트: 서비스의 주요 기능의 해피 케이스를 커버하는 테스트를 작성한다.
  • 문서화 테스트: 서비스에서 제공하는 API의 문서화를 위한 테스트를 작성한다.
  • 테스트
    • 단위 테스트: 도메인, 서비스에 대한 단위 테스트를 스프링에 의존하지 않고 작성한다. 해피 케이스를 포함해 예외 케이스에 대한 테스트도 작성한다.
    • 통합 테스트: 쿼리가 의도한대로 동작하는지 확인하는 목적으로 DB와 어플리케이션 간의 통합 테스트만 작성한다.

인수 테스트

문서화 테스트

  • 소스 셋: documentation
  • 실행 방법: ./gradlew documentationTest

테스트

  • 소스 셋: test
  • 실행 방법: ./gradlew test
  • 작성 가이드:
    • 단위 테스트는 Mock 또는 Stub을 이용하여 테스트를 작성한다. @SpringBootTest 등을 이용하여 스프링 컨텍스트를 사용하는 것을 금지한다.
    • 통합 테스트는 DB와 어플리케이션 간의 통합 테스트를 작성하며, @RepositoryTest를 이용하여 작성한다.
Clone this wiki locally