테스트 코드

ClassBinu·2024년 4월 23일

F-lab

목록 보기
14/65

느낀 점

  1. 컨트롤러 코드와 테스트 코드를 동시에 작성하니까 비슷한 코드를 두 번씩 작성하는 느낌입니다. 그래서 만약 다른 함수에서 반복되는 코드가 있다면 작업량이 4배로 체감되어서 번거로움이 느껴졌습니다. 그래서 최대한 중복되는 코드를 줄이기 위해 생각해 보게 되었습니다.
  • jwt에서 userId 추출하기, userId가 유효한지 체크하기와 같은 기능을 데코레이터로 분리
  1. 그 전에는 컨트롤러, 서비스 코드를 무작정 작성했다면 테스트 코드와 함께 작성할 때는 2인 3각 달리기를 하는 것처럼 기능을 단계별로 구현하게 됩니다. 그 전에는 컨트롤러 따로, 서비스 따로 코드를 작성했는데 테스트 코드와 함께 쓰면서 레이어 단위로 코드를 작성하는 게 아니라 기능(API)을 위주로 컨트롤러와 서비스를 함께 병행하면서 코드를 작성하게 됩니다.

  2. 클래스의 책임에 대해서 생각해 보게 됩니다. 테스트 코드를 작성하면서 '이 기능이 이 레이어에서 진행되어야 되는 건가?'하는 의문이 자주 들었습니다. 클래스 안에서 구현되는 메서드의 기능을 정말 이 클래스 또는 메서드에서 진행해야 하는건지 생각해보게 됩니다.
    ex) 해당 post가 존재하는지 여부를 컨트롤러에서 체크하는 게 맞나?(서비스로 이관함)

0개의 댓글