ATDD, 클린 코드 with Spring 5기 수료 회고
이전에 TDD, Clean Code with Java 12기를 이수하면서,
테스트 코드에대한 중요성 그리고 단위 테스트는 어떻게 해야겠다! 라고 깨달음을 얻었었다.
그렇게 하면서 업무에도 테스트코드를 적용하려고 하는데
흔히 Spring framework에서 사용하는 Controller, Service Layer 들의 테스트들을 내가 작성할 때에는 전부 Mock을 이용해서
테스트를 진행을 해주었다.
이렇게 해주는게 맞을까? 🤔 라는 의문을 계속 가지면서 그리고 최근에 뭔가 조금 해이해진 경향을 바로 잡고자
이 강의를 신청하게 되었다.
각 주차마다의 미션들을 좀 가져와봤다. 궁금하면 한번 놀러와주세요!
1주차 - 인수 테스트
https://github.com/lsj8367/atdd-subway-map
2주차 - 인수 테스트와 TDD
https://github.com/lsj8367/atdd-subway-path
3주차 - 인수 테스트와 인증
https://github.com/lsj8367/atdd-subway-favorite
4주차 - 인수 테스트와 리팩토링
https://github.com/lsj8367/atdd-subway-fare
이렇게 4주까지 피드백 받으면서 인수 테스트를 작성했더니 시나리오 흐름대로 뭔가 이해할 수 있게 테스트를 구성하는게 가능해진것 같다.
또 한번 사석에서 리뷰를 받아보니까 어떤 부분을 내가 놓치고 있었고, 어떤 부분에서 조금 더 나은 선택을 할 수 있는지 많은 고민을
할 수 있어서 굉장히 좋았다.
RestAssured를 사용해서 인수테스트를 진행했는데, MockMvc와의 다른점과 좋았던 점 등등을 다른 포스팅에서 다시 쓰도록 하겠다.
(여기는 회고글이기 때문)
한 프로젝트를 돌아가게 작성만 해놓고 다른 프로젝트를 또 시작하는 SI 형식의 개발이 아니기 때문에,
내가 짠 코드에 대해서 유지보수를 잘하게끔 도와주고, 더 나아가서는 코드를 다른사람이 볼 때에도 이해하기 쉽게끔 테스트를 구성하는게 습관이 되어가고있다.
이와 동시에 비즈니스 코드를 작성하는것보다 무조건 테스트 클래스부터 만드는 내 자신을 볼 때 좀 뿌듯한 감정도 있다. ㅋㅋㅋㅋ
다만 이 과정중에 아쉬웠던 것은, 조금 더 여유있을 때 해볼걸 하는 생각도 있지만 끝나고 보니 열심히 하는 다른 분들이 있어서
같이 자극받고 하지 않았나 싶다!!
이제는 다시 업무를 위한 공부를 하면서, 틈틈이 하려고했던 운영체제, 네트워크, 알고리즘을 쭉 해야겠다.
아무튼 좋았고 되게 값진 경험이었다!