그 전에는 컨트롤러, 서비스 코드를 무작정 작성했다면 테스트 코드와 함께 작성할 때는 2인 3각 달리기를 하는 것처럼 기능을 단계별로 구현하게 됩니다. 그 전에는 컨트롤러 따로, 서비스 따로 코드를 작성했는데 테스트 코드와 함께 쓰면서 레이어 단위로 코드를 작성하는 게 아니라 기능(API)을 위주로 컨트롤러와 서비스를 함께 병행하면서 코드를 작성하게 됩니다.
클래스의 책임에 대해서 생각해 보게 됩니다. 테스트 코드를 작성하면서 '이 기능이 이 레이어에서 진행되어야 되는 건가?'하는 의문이 자주 들었습니다. 클래스 안에서 구현되는 메서드의 기능을 정말 이 클래스 또는 메서드에서 진행해야 하는건지 생각해보게 됩니다.
ex) 해당 post가 존재하는지 여부를 컨트롤러에서 체크하는 게 맞나?(서비스로 이관함)