Skip to content

TDD 소개

youme edited this page Jan 31, 2019 · 3 revisions

The three laws of TDD

  • 실패하는 테스트 코드를 작성할 때까지 프로덕션 코드를 작성하지 않는다.
  • 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 테스트 코드를 작성한다.
  • 현재 실패하는 테스트를 통과할 정도로만 프로덕션 코드를 작성한다.

TDD Cycle

  • RED - write test that fails
  • Green - write code to pass the test
  • Refactor - remove duplications

What are the benefits of TDD

  • 테스트 코드를 작성하는 단계에서 인터페이스를 설계하게 된다.
  • 동작하는 코드에 자신감을 가질 수 있다.
  • 테스트코드 커버리지가 자연스럽게 100%에 가까워 진다.
  • 동작이 바뀌면 테스트가 실패를 알려주기 때문에 그 이외에 코드를 변경 할 필요가 없다.
  • 코드는 보다 융통성 있고 유지보수가 용이하며 재사용이 가능하다.
  • 리팩토링을 통해서 제품코드 설계를 개선할 수 있고, 과도한 설계를 피할 수 있게 한다.
  • 테스트가 상세화 될수록 제품코드는 일반화 된다.
Clone this wiki locally