앞서 고민했던, 상위 컴포넌트에서는 하위 컴포넌트에서 사용하는 함수들을 모킹해주어야 하는 문제가 있었다.
컴포넌트의 계층 구조가 높아질수록, 상위 컴포넌트에서 하위 컴포넌트에서 사용했던 mocking을 그대로 다시 선언해주어야하는 경우가 많아지는 것이다.
이를 해결하기 위해서 __mocks__ 폴더를 만들어서, 이름이 같은 hook을 모킹해주었다.
이렇게 하게되면, jest.mock()을 호출할때 __mocks__폴더내의 이름이 같은 함수를 자동으로 내가 선언한대로 모킹해준다.
이제, 하위 컴포넌트에서 사용했던 mock을 재사용할 수 있다.
하지만, 이것은 해당 hook 자체를 모킹해버리기 때문에 훅 커버리지를 높이지는 못한다.
또한, 1종류의 mocking만 가능하기 때문에, 다른 반환값을 원한다면 훅을 재 모킹해주는 수 밖에 없다.
https://github.com/woowacourse-teams/2021-darass/commit/3d2139146ef62f394f9c2f4fe9af19ea471d3c32
'개발 > 개발 리포트' 카테고리의 다른 글
2021/10/07 : 댓글 모듈 테스트코드 커버리지 평균 70%이상 달성 완료 (0) | 2021.10.08 |
---|---|
2021/10/06 : localStorage, setTimeOut의 테스트는 생각보다 간단하다. (0) | 2021.10.07 |
2021/10/04 : 테스트코드는 테스트대상과 가깝게 유지한다. (0) | 2021.10.05 |
2021/10/03 : 규모가 큰 컴포넌트는 어떻게 테스트할것인가. (0) | 2021.10.04 |
2021/10/02 : 무엇이 테스터블한 컴포넌트일까 (0) | 2021.10.03 |