테스트 주도 개발(Test Driven Development)

실제 코드를 작성하기 전에 테스트 코드를 먼저 작성하여 개발하는 방식, 테스트 코드를 Pass 할 수 있는 실제 코드를 작성하는 것이 포인트이다.

원하는 기능의 테스트 코드 작성 → 테스트 실행(Fail) → 테스트 코드에 맞는 실제 코드 작성 → 테스트 실행(Success)

TDD를 하면 좋은 점

  1. TDD를 하므로 인해 많은 기능을 테스트하기에 소스 코드에 안정감이 부여
  2. 실제 개발하면서 많은 시간이 소요되는 디버깅 시간을 TDD를 통해 줄여서 실제 개발시간을 줄여준다.
  3. 소스 코드 하나하나를 더욱 신중히 짤 수 있으므로 클린 코드가 나올 확률이 높다.

Jest 파일구조

describe
	test(it)
	test(it)
	test(it)

// like this..
Describe(과일)
	it 사과
	it 바나나

간단한 카운터 앱을 TDD 방식으로 만들어본다.

플러스, 마이너스 버튼 생성

카운터를 올리고 내리는 버튼을 생성해보자