콘텐츠로 이동

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에서 찔러서 검사하고 에러터뜨리는거 불편하네;; - 정작 도메인은 가만히 있는데