Frontend Testing

히로그·2023년 1월 19일
0

왜? 테스트를 해야할까?

사용자가 사용할 때 우리가 의도한대로 제대로 동작을 하는지 확신을 갖기 위해 테스트 코드를 작성해야한다.
사용자가 버튼을 클릭하는 행위. 사용자가 행하는 동작에 집중하면 된다.
정적인 UI는 잠시 미뤄두고 동적인 동작에 집중하자.

예를 들어, onClick 이벤트 그대로를 테스트 하지는 않는다.
그대로 테스트 한다는 것은 플랫폼을 믿지 못하거나 브라우저 혹은 React 라이브러리를 믿지 못한다는 것이다.

클릭 이벤트는 발생했겠지!

라는 전제를 가지고 이벤트가 발생하여 어떠한 부수효과를 가져오는지를 테스트 해야한다.

버튼을 클릭하여 어떤 컴포넌트의 상태가 변경될 수 있고,
다른 페이지로 이동할 수도 있고,
상태에 따라 모달 컴포넌트가 보이게 될 수도 있다.

이것이 application의 흐름이 되며 프론트엔트 환경에서 비즈니스 로직에 해당된다.
또한 이것이 개발자가 코드를 작성할 때 의도한 동작에 해당된다.

화면이 잘 그려질지, 내가 onClick props로 등록한 이벤트가 제대로 발생할지는 사용하고 있는 플랫폼(ex. React)을 믿도록 하자. 따라서 이 부분에 대한 단위테스트는 작성하지 않는다.

무엇을 TEST 해야하나?

동작을 테스트 할 것이고 동작이란 사용자로부터 발생한 이벤트의 부수효과를 의미한다.
그리고 이 부수효과들이 발생하게 되는 조건들과 결과를 테스트한다.

무엇을 TEST 하지 않을 것인가?

테스트에 들어가는 비용이 많기 때문에, 테스트 전략을 세울 때 무엇을 테스트하지 않을 것인가를 고민하는 것이 더 중요할 수 있다.

컴포넌트들이 제대로 합성되는지 /
렌더링은 제대로 되는지 /
어떤 동작실행시 무엇이 triger 되는지...

    에 대해서는! 그냥 제대로 될 것이라 생각하고 일단 넘어가자!

profile
느려도 괜찮아, 할 수 있어 :)

0개의 댓글