소형테스트

테스트의 필요성 1. Regression 잘 돌아가던 코드가 이번 배포로 인해서 동작하지 않는 상황을 Regression이라 부릅니다. 이런 것을 한 두 번 경험하다 보면, 전체적으로 수정과 배포가 무서워지게 됩니다. 2. 좋은 아키텍처를 유도 SOLID S( 단일 책임 원칙 ) : 테스트는 명료하고 간단하게 작성해야 하기 때문에, 단일 책임 원칙을 지키게 됨. 테스트가 너무 많아져서 이게 무슨 목적의 클래스인지 눈에 안 들어오는 지점이 생김. 이때가 클래스를 분할해야 하는 시섬, 그러면서 책임이 자연스럽게 분배됨. O ( 개방 폐쇄 원칙 ) : 테스트 컴포넌트와 프로덕션 컴포넌트를 나눠 작업하게 되고 필요에 따라 이 컴포넌트를 자유자재로 탈부착이 가능하게 개발하게 됨 L ( 리스코프 치환 원칙 ) : ..
들어가며 지금까지 프로젝트에선 레이어드 아키텍처를 사용하여 유사한 기능들을 같은 계층으로 묶어 Controller, Service, Repository를 추상화 없이 바로바로 사용하였습니다. JpaRepository 가 인터페이스로 만들어지긴 했지만 사실상 JPA에 직접 의존하고 있기 때문에 JPA와 강결합이 되어있습니다. 따라서 이번 프로젝트에서는 의존성 역전을 해주었습니다. 시스템 외부 연동 ( DB, WebClient 등)은 가능하면 모두 추상화하여 구현해 주었습니다. 일단 Repository interface를 새로 만들어서 분리해 주었습니다. 이것은 JPA와 관계없는 인터페이스입니다. 그리고 Persistence Layer에 해당 인터페이스의 구현체를 둡니다. 그 구현체는 Jpa Reposito..
dltjdn
'소형테스트' 태그의 글 목록