🎁[속보] 인프런 내 깜짝 선물 출현 중🎁

워밍업 클럽 3기 BE 클린코드 (4주차 발자국) - 아니 이게 그런거였어?

아니 이게 그런거였어?

테스트코드를 작성했었던 이전에는 GPT에게 가득 의존했다. @SpringBootTest의 통합환경에서 테스트를 작성하는데 아무것도 모르고 @Mock도 집어넣고... 그냥 대충 돌아가기만 하면 됐다~로 만족했었는데 이번 강의에서 어노테이션들의 존재 이유와 동작원리에 대해 이해하면서 작성할 수 있게 되었다. 이전에는 왜 찾아볼 생각도 안했었을까? 아마 찾을 시간도 없이 테스트코드를 바쁘게 작성하려고 했던 것이 원인이었겠지...

 

강의에서 배웠던 점

앞서 말했던 여러 테스트용 어노테이션 뿐만 아니라, 테스트 코드를 작성하는 데에 자잘한 팁들을 얻어갔다.
이전에 코드의 중복성을 제거하기위해 최대한 @BeforeEach에 코드를 넣어야지! 라고 생각했었었는데, 우빈님이 정확히 그부분을 짚어주셔서 뜨끔했었다. 뭐... 그건 과거니까.. 이제는 테스트 환경 혹은 테스트 사이의 독립성을 보장하는 것도 생각하면서 테스트를 작성할 수 있게 되지 않을까 생각한다.

또한 "테스트도 비용이다." 라는 우빈님의 말도 생각난다. 이전에는 통합테스트를 여러번 돌릴 때 계속해서 스프링 서버가 띄워지게되면서 이전에 250개정도 되는 테스트를 돌릴때 대략 2분정도 걸려서 아 최적화를 해보고 싶은데 어떻게하지..? 라는 생각을 했었다.

근데 우빈님이 하나의 스프링 서버 실행으로 여러 통합테스트를 같이 돌리는 기술(?)을 보여주셨는데 왜 그때 당시에 최적화하려고 노력하지 않았을까 하는 생각이 들었다. 생각보다 단순한 해결책일 수 있었는데..

이외에도 평소에 궁금했던 private 메서드의 테스트 필요성에 대해서도 평소에 굉장히 궁금했었는데 우빈님의 말을듣고 마음이 편안해졌다. 또한 이전에 Clean Code를 배우고 오니, "private 메서드를 테스트 한다고 느끼면 책임을 분리해야 하는 시기가 온것이다." 라는 말에 크게 공감할 수 있었다.

이 외에도 Spring Rest Docs라는 것도 배우고, 뜻 깊은 시간이었다.

 

고생하셨습니다!!

댓글을 작성해보세요.


채널톡 아이콘