Lewis's Tech Keep
[우아한 테크캠프][PRO][3기] 3주차 정리 - 2 본문
ATDD 프로젝트 시 발생했던 현상 및 해결, 피드백
Unchecked Exception 예외를 받는 커스텀 클래스
어떤 라이브러리에 종속된 예외의 경우
import org.springframework.dao.DataIntegrityViolationException;
public class DuplicateEntityException extends DataIntegrityViolationException {
}
위와 같은 클래스의 경우 DataIntegrityViolationException은 spring-data-jpa를 받아야지만 추가되는 예외 클래스다.
다른 예외를 생각하는 것이 좋다.
라이브러리 종속적 예외는 라이브러리 제거시 에러가 발생되기 때문이다.
다대다 관계를 푼 다대일 일대다에서 왼쪽이 양방향일 경우 오른쪽도 양방향을 해주는 것이 좋은가
전혀 그렇지 않다.
다대다 관계를 다대일 일대다 로 풀었을 경우에
ex)
user <- teamUser -> team
user와 teamUser가 양방향 관계가 되었다고 해서
teamUser와 team도 반드시 양방향 관계로 설정해 줄 필요는 없다.
양방향으로 설정하는 것은 오히려 더욱 복잡하게 만들어 사이드 이펙트를 발생 시킬 수 있다.
=> 꼭 필요할 때만 양방향 설정을 하자.
인수 테스트 응답 객체 고려사항
인수 테스트에서는 요청 -> 응답 순으로 받기 때문에 도메인 객체로 무언가 받을 일이 있다면 주의하자.
public static Station of(ExtractableResponse<Response> response) {
return response.as(Station.class);
}
public static StationRseponse of(ExtractableResponse<Response> response) {
return response.as(StationRseponse.class);
}
인수 테스트의 경우에는 도메인 객체를 얻기보다는 응답으로 DTO를 받기 때문에 StationResponse가 훨씬 자연스럽다.
도메인 테스트에서는 Respository 테스트는 지양하자
굉장히 동의하는 부분이었다.
도메인에서는 도메인에 관련된 데이터만 테스트 하자.
영속화된 객체 같은 것은 다른 클래스 단위로 테스트하거나 만들어서 테스트하자.
'Java > 우아한 테크캠프 정리' 카테고리의 다른 글
[우아한 테크캠프][PRO][3기] 3주차 정리 - 1 (0) | 2021.12.02 |
---|---|
[우아한 테크캠프][PRO][3기] 2주차 정리 - 2 (0) | 2021.11.20 |
[우아한 테크캠프][PRO][3기] 2주차 정리 - 1 (0) | 2021.11.13 |
[우아한 테크캠프][PRO][3기] 1주차 정리 - 4 (0) | 2021.11.10 |
[우아한 테크캠프][PRO][3기] 1주차 정리 - 3 (0) | 2021.11.09 |
Comments