카카오빈 설문 플랫폼 백엔드 레포지토리입니다.
- Java 11, Gradle, Jacoco
- Spring Boot
- Spring Data JPA
- Spring Security
- Junit, Mockito
- Spring Rest Docs
- api: 클라이언트와 소통하기 위한 인터페이스 계층
- common: 모든 모듈에서 사용할 util 클래스 계층
- independently-system: 프로젝트에 직접적으로 엮이지 않은 시스템 모듈 계층
- core: 영속성 계층과 비즈니스 도메인 클래스가 포함된 핵심 계층
- 조회의 경우는 단위 테스트를 작성하지 않아도 된다.
- 중요한 비즈니스 로직이 담긴 부분만 단위 테스트를 작성한다.
- 중요한 비즈니스 로직이란 도메인들이 모여서 행하는 비즈니스 로직이다. 쉽게 말하면 Create, Update, Delete 3가지다.
- 이 경우는 모든 예외 케이스, 성공 케이스를 작성해 라인 커버리지 100%를 달성해야 한다.
- 도메인 단위 테스트가 애플리케이션 계층 단위 테스트에 자연스럽게 포함된다.
- REST DOCS로 단위 테스트를 커버한다.
- 라인 커버리지 100%를 커버해야 한다.
- 기본적으로 application과 infrastructure 계층의 통합 테스트를 의미한다.
- CRUD 모든 케이스를 작성한다.
- 예외와 관련된 실패 케이스는 작성할 시간이 부족하다면 일단 하지 않아도 된다.
- 성공 케이스는 전부 작성.
- 실패 케이스도 당연히 작성하면 좋음. 최대한 작성할 것.