ReadWorld
spring-security
, spring-data-jpa
, Java 17
를 사용한 Backend 프로젝트
$ ./gradlew build bootRun
gradlew
사용한 테스트 방법
$ ./gradlew clean test
build/reports/jacoco/test/html/index.html
Postman
프로그램 사용
./docs/api/Conduit.postman_collection.json
파일을 Postman Application에서Import
후 Test 진행.
shell
사용$ ./docs/api/run-api-tests.sh
Lombok
사용 최소화.- 생성자 관련
@RequiredConstructor
만 사용. @Data, @Getter, @Setter
사용 금지.
- 생성자 관련
Service Layer
에서 사용하는 domain Entity의Constructors
는 언제나 직접 작성한Builder
패턴으로 접근. (@Builder
사용 금지)- 거의 모든 Class, Method 테스트 진행.
equals()
,hashCode()
,getter()
같은 일부 Boilerplate 성격의 메소드는 제외.- 다대다 관계를 풀어내기 위한 매핑 Entity - ArticleTag, ArticleFavorite 는 테스트 제외
Controller Layer
에서Response로 Entity
반환 금지Controller
,Service Layer
사이의 데이터 반환은 DTO로 반환
Service Layer
에서Builder 패턴
으로 생성 제한한 Entity는USERS
,ARTICLES
,TAGS
.
- 연관 관계 메소드 중, 내부적으로 사용하는 검증 로직은
private
으로 사용 ()