일반

처음으로 API를 mocking하여 단위 테스트를 작성한 날

leesche 2022. 10. 12. 00:14

처음으로 API를 mocking하여 단위 테스트를 작성했다.

지금껏 MSW(Mock Service Worker)를 이용해 API를 호출하고 반환하는 커스텀 훅에 대한 단위 테스트만 작성했다. 하지만 1)상대적으로 간단한 컴포넌트를 이렇게 테스트하면 코드가 많아지기에 피하고 싶었고 2)다른 방식으로 컴포넌트와 테스트를 작성해보고 싶었다.

그런 마음을 오래 먹고 조금씩 공부를 하고 있다가 처음으로 작성했다. 테스트 대상이었던 컴포넌트는 외부 API Client를 주입 받는다. 나는 이 컴포넌트의 단위 테스트를 작성할 때 그 외부 API Client를 테스트 대역으로 바꿔서 주입했다. API Client에는 수많은 메서드들이 있지만 해당 테스트에서 사용하는 메서드만 원하는 데이터를 반환하도록 구현했다. 이렇게 적어보니 참 간단한데 왜 이렇게 겁내고 오래 걸렸나 싶다.

아직도 단위 테스트를 잘 모른다. 용어들은 헷갈리고 컴포넌트에서 어떤 부분을 테스트해야 할지 고민이 많다. 끊임 없이 아는 것을 공고히 하자. 단위테스트를 통해 내가 맡은 프로젝트을 지속적으로 성장시키자.

그럼 단위 테스트의 목표는 무엇인가? 소프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는 것이다.
- 블라디미르 코리코프, ⌜단위 테스트⌟, 33쪽