🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

인프런 워밍업 클럽 백엔드-code 4주차 발자국

인프런 워밍업 클럽 백엔드-code 4주차 발자국

학습 요약 및 회고

Layered Architecture에서 Layer를 분리해서 테스트 하는 방법을 배웠다.

각 Layer의 특징도 달랐고 특징에 따라 테스트하는 방법도 달랐다.

단위 테스트 위주로 테스트해야 하는 곳, 통합 테스트를 적절히 섞어야 하는 곳, Mock을 사용해야 하는 곳 등 다 다르다는 것을 느꼈다.

 

그리고 Mockito 라이브러리에 대해서 배웠다.

이전에 늘 테스트 할 때 필요한 객체를 생성하는데 지쳐 테스트를 포기했던 기억이 있다.

이런 어려움을 해결할 수 있는 방법이 있다는 것을 알았다.

내가 원하는 결과를 반환하게 설정할 수도 있고 또는 객체의 행동을 그대로 가져올 수도 있는 것이 놀라웠다.

Mockito 라이브러리를 잘 알고 있다면 테스트하기 어려운 부분도 쉽게 테스트할 수 있고 다양한 기능들을 테스트할 수 있을 것 같다는 생각이 들었다.

중요한 기능이여도 번거롭고 어려운 테스트라고 포기하는 경우가 줄고 테스트 커버리지를 높힐 수 있을 것 같다는 생각이 들었다.

 

마지막으로 테스트에 대한 다양한 조언을 들었다.

테스트를 작성할 때에도 많은 고민이 필요한 것 같다.

배운 조언들을 테스트 코드에 녹이고 테스트 코드도 읽기 좋은 코드로 작성하도록 노력을 해야 할 것 같다.

 

테스트 코드를 잘 짜는 방법은 역시 계속 연습해보는 것 밖에 없는 것 같다.

다양한 기능을 테스트 해보며 '어떻게 더 좋은 테스트 코드를 짤지', '어떻게 더 테스트하기 좋은 코드를 짤지' 등을 고민해 보며 좋은 코드를 짜려고 노력해야 할 것 같다.

 

미션

Day 16 미션 : 각 Layer의 특징과 어떻게 테스트하면 좋을지에 대해 작성하는 미션이였다.

각 layer의 특징을 작성하고 각 layer를 테스트할 때 특별하게 했던 방법들을 작성해 봤다.

각 layer마다 다른 layer들과는 다른 테스트 방법들이 있었던 것 같다.

그런 것을 위주로 작성해 봤다.

https://inf.run/6AFn9

 

Day 18 미션 : Mock 관련 annotation들을 비교하고 테스트 항목을 배치하는 미션이였다.

Mock 관련 annotation들에 도드라지는 특징들을 작성하려고 하였다.

예를 들면 @Spy는 @Mock과 달리 '특정 기능만 Mocking하고 나머지 기능은 원본 객체와 동일하게 수행' 하는 특징 등을 작성했다.

 

테스트 항목을 배치하는 미션은 어떤 것을 테스트 하려고 하는지에 주목했다.

이것이 테스트 코드를 작성하는데 가장 중요한 것 같다.

어떤 것을 테스트 하려고 하는지를 when에 넣고 해당 테스트에만 중요한 것들을 각각의 given에 넣는 것이 포인트라고 생각했다.

https://inf.run/xoG6G

 

댓글을 작성해보세요.

채널톡 아이콘