2021 10 24 레거시 코드 리팩터링
레거시 코드 리팩터링 과정¶
1. 테스트를 통한 코드 보호¶
- TestRestTemplate을 활용해 인수테스트 작성 (별로였음) 1. getForEntity, postForEntity는 있으면서 putForEntity, deleteForEntity는 없는게 당황스러움 - exchange 메서드를 대용으로 활용 2. http 통신 로깅 설정을 간단히 할 수 있던 RestAssured와 달리 TestRestTemplate은 복잡한 과정을 거쳐 보기 싫은 로깅을 해야함 - 참고: https://www.baeldung.com/spring-resttemplate-logging
@Sql을 활용해, 매 테스트 마다 DB를 비워주고 테스트를 격리시켜 진행할 수 있도록 했음
2. 서비스 리팩터링¶
- 아,,, 이게 Dao를 쓰는게 객체지향이랑 벗어나네 - Dao에서 찔러서 검사하고 에러터뜨리는거 불편하네;; - 정작 도메인은 가만히 있는데