Section 4 Unit7 - [Testing] TDD

BRANDY·2023년 3월 29일
0

TDD란?

TDD(Test-driven Development)는 코드를 작성하기 전에 테스트를 쓰는 소프트웨어 개발 방법론. 본인이 바람직하다고 생각하는 코드의 결과를 미리 정의하고 코드를 작성하는것인데 개발 주기는 다음과 같다.

이 과정세어 1 과정을 마치기 전에 2를 시작하지 않도록 주의하며 2를 진행할때는 1의 테스트를 통과할 정도의 최소 코드만 작성한다. 테스트를 먼저 작성한다는 것은 필연적으로 코드를 어떻게 구성할지 고민하게 되고 결과적으로 불필요한 설계를 줄이고 버그가 적은 코드를 짤 수 있다.

하지만 많은 개발자들은 TDD를 따르지 않기도 한다. 테스트를 미리 만드는것 보다 바로 코드를 작성하는것이 자연스럽고 빠르다고 느끼기 때문이다.

TDD를 사용하는 이유

그럼에도 TDD를 사용하는 이유는 예상하지 못했던 버그를 줄여주기 때문에 오히려 시간을 줄일 수 있다.

console.log를 통해 확인하는것도 일종의 테스트이며 mocha라는 테스트 프레임워크와 chai라는 라이브러리를 사용하여 작성할것이다.

React와 TDD

React에서 테스트는 Testing Library, Jest를 이용해서 할 수 있다.

Testing Libaray에서 React용 React Testing Library를 제공하고 있기 때문에 create-react-app을 이용하여 프로젝트를 생성하면 자동으로 Testing Library를 사용할 수 있다.

Jest란 JavaScript의 Testing Framework / Test Runner로써, 테스트 파일을 자동으로 찾아 테스트를 실행하고, 테스트를 실행한 결과 기대만큼 올바른 값을 가지고 있는지 함수를 이용하여 체크하여 테스트가 성공인지 실패인지를 판단해준다.

Testing Libarary와 Jest는 역할이 각각 다르기 때문에 React에 대한 테스트를 진행할때는 한쪽 라이브러리를 이용하는것만으로는 테스트를 할 수 없다.

React 기본 테스트환경과 사용 방법은 실습을 통해 진행해보도록 하자.

profile
프런트엔드 개발자

0개의 댓글