정현우12 2023. 5. 7. 01:49

TDD란?

Test Driven Development

테스트 코드 작성 후 그 테스트 코드를 Pass 할 수 있는 실제 코드를 작성

장점

  • 많은 기능 테스트하기에 소스 코드에 안정감
  • 디버깅 시간 줄어들고 실제 개발 시간 줄어듬
  • 깨끗한 코드

방법

  1. 기능 하나에 대한 테스트 코드 작성
  2. 해당 테스트 코드 통과하도록 코드 작성
  3. 1~2 반복

예시

  1. 기능 하나에 대한 테스트 코드 작성
it('counter starts at 0', () => {
    render(<App />)
    const counter = screen.getByTestId('counter') // 임시로 testid 사용, getByRole을 되도록이면 쓰자
    expect(counter).toHaveTextContent('0')
})
  1. 해당 테스트 코드 통과하도록 코드 작성
function App() {
  const [count, setCount] = useState(0)
  return (
    <div className="App">
      <p data-testid="counter">{count}</p> 
    </div>
  )
}
  1. 1~2 반복