201017 Dev 로그

1. 한 일

  • code-soom의 테스트 코드 작성

2. 배운점

  • jest mock의 이해

    • 모듈을 테스트에 직접 사용하면, 모듈을 사용하기 힘든 경우가 발생한다. (예 직접 DB을 건드는 작업, 시간이 오래걸리는 경우)
    • 이를 해결하기 위해서 가짜 모듈을 만드는 작업을 한다.
    • jest.mock을 통해서 모듈내 함수를 mock 함수로 바꿔준다.
    • jest.mock은 테스트 코드에서 hoist시켜준다.
  • reducer 작성 주의 할점

    • reducer 작성할 때, default에 대한 부분을 반드시 작성. 작성하지 않을 시, store가 Component에 연결되지 않는 현상 발생.
  • 최상위 App을 테스트 하기 위해서는 render내에 Provider로 감싸주어야 한다.

3. 느낀 점 & 자기 선언

  • redux에 대한 테스트 코드 작성해보니 어렵다는 것을 느꼈다. redux 관련된 테스트 코드 작성에 대해서 나름 정리해 보았다.

    • reducer: 입력한 state와 action이 주어졌을 때, state가 잘 나오는 지 확인
    • action creator: action이 잘 생성되는 지 확인
    • container compoent: 이벤트가 발생했을 때, dispatch가 잘 호출되는 지 확인, selector가 잘 되는 지 확인(?)
    • presentation component: 디자인이 잘 생성되는 지 확인, 그리고 props으로 넘어온 값이 잘 나오는 확인, props으로 넘어온 함수가 잘 호출되는 지 확인

    -> 작성 순서는 presentation component -> reducer, action creator -> container component 순서로 작성하면 좋지 않을 까 싶다. -> 뇌피셜이라 틀릴 수도 있다.

  • TDD를 하다보니 테스트코드에서 오류가 많이 발생하는 경우가 많았다. 그래서 RED가 발생했는 데, 컴포넌트가 코드를 통과해서 발생하는 문제가 아니라, 대부분이 테스트 코드가 틀려서 생긴 문제 였다. 테스트 코드 자체에 대한 이해가 필요해 보인다.

Written by@WHALE
Fun Coding

GitHubFacebookLinkedIn