오늘은 코드숨 리액트 과정의 3주차로 풍문으로만 들었던 TDD에 처음 접해보게 되었다! TDD를 적기에 앞서 Jest와 react-testing-library에 대해 얘기해보자면 Jest는 자바스크립트 테스팅 프레임워크로, 간단한 설정만으로도 테스트할 수 있고 Coverage와 같은 기능도 제공하며 mocking과 같은 기능을 이용하여 테스트를 쉽게 할 수 있는 프레임워크다. React-testing-library는 DOM을 이용하여 사용자가 실제 이용하는 것처럼 테스트할 수 있는 라이브러리다.
TDD는 다음과 같은 단계로 이루어져있다.
- RED - 테스트를 적는 단계이다. 코드를 구현하지 않고 테스트를 적는 것이기 때문에 실패하는 것이 당연하다.
- GREEN - 테스트를 통과하는 코드를 적는 단계다. 테스트를 통과할 정도의 코드를 적는다.
- REFACTOR - 말 그대로 리팩토링하는 단계다. 행동이 바뀌지 않는 선에서 코드의 질을 높이는 단계다.
다음과 같은 내용을 배우고 과제를 진행하려니 어디서부터 어떻게 시작해야 할지 막막했다. 그래서 과제를 제출한 다른 분들의 코드를 참고하다 강의에서 언급하고 지나갔던 describe - context - it 패턴을 대부분의 사람들이 사용하는 걸 알게 됐고 구글링을 통해 이 패턴이 BDD 패턴이라 하는 것을 알게 됐다.
BDD는 테스트 대상을 주인공 삼아 행동을 더 섬세하게 설명하는데 적합하고, 시나리오를 그리며 코드를 적는다고 생각하니 막막했던 처음보다 수월하게 코드를 적을 수 있었다. 이번 과제는 이미 작성된 코드를 바탕으로 테스트를 작성했지만 이번 과제를 테스트부터 작성하면서 코드를 작성하는 제대로 된 TDD Cycle로 다시 복습해봐야겠다!
'TIL' 카테고리의 다른 글
TIL - 20220518 (0) | 2022.05.18 |
---|---|
TIL - 20220517 (0) | 2022.05.17 |
TIL - 20220515 (0) | 2022.05.15 |
TIL - 20220514 (0) | 2022.05.14 |
TIL - 20220513 (부제: webpack 설정으로 import React from 'react' 지우기) (0) | 2022.05.13 |