프론트엔드 TDD에 대한 단상

어제 React로 사고하기 – React 문서를 단위 테스트를 작성하며 실습해보았다. 레이아웃 스팩도 테스트에 기술했지만 아래에서 설명할 이유로 한 두 커밋 이후 지워버렸다.

Remove unnecessary Test suit · x86chi/thinking-in-react@b004b87 · GitHub

테스트는 어느 정도까지 작성해야 될까

  1. 고정된 <td/>의 문자 확인
  2. props에 따라 스타일이 변화되는지 체크
  3. onChange 이벤트가 제대로 발생하는가

3개 다 아니다. 위 세가지 테스트 수트는 리엑트를 믿지 못한다는 의미라고 생각한다.

그러면 무엇을 테스트해야 되나?

Props 와 state 에 따라 기대하는 뷰가 나오는지 확인

내가 짜야 되는 설계에서 원하는 결과가 나오는지 테스트로 검증해야 된다. 반대로 내가 짜지 않은 수준의 설계나 부수효과가 없는 정적인 요소는 테스트를 작성할 책임이 없다. 내가 쓰는 도구에서 알아서 잘 해주기 때문이다.