Test를 대하는 자세
- 코드로 하는 테스트 ( 비즈니스 로직 코드를 다른 코드로 확인하는 작업 )
- 반복되는 코드가 3번 반복되면 리팩토링을 고려해야 한다. ( parameterizedTest )
- hamcrest 대신 assertj가 더 대세다??
- 테스트를 지속적으로 실행시키 때문에(CI), 기존 기능에 사이드 이펙트가 없음을 보장함
- regression test가 제대로 진행되지 못하면 버전을 올리는 작업이 힘들어서 레거시화 되어감
- private method는 어떻게 테스트 하는가 ( 리플렉션, privateMethod를 사용하는 public method를 테스트, default method로 변환, 별도의 클래스로 분리 )
- 개발완료는 테스트코드도 작성도 끝나야 한다.
- Mock 라이브러리 사용을 최소화하려면 인터페이스와 DI를 적극적으로 사용해야 함
- service, repository 어노테이션을 보면 DDD에 쓰이는 service, repository라 명시되어 있다.