Spring, TDD & Unit test 개념

TDD의 정의

  • Test Driven Development
    • 테스트 주도 개발 : 테스트가 개발을 이끌어 나간다

      TDD의 개념

  • 테스트를 먼저 만들고 테스트를 통과하기 위한 코드를 작성하는 것.

레드 그린 사이클 (TDD사이클)

  • RED 항상 실패하는 테스트를 먼저 작성하고
  • GREEN 테스트가 통과하는 프로덕션 코드를 작성하고
  • Refactor 테스트가 통과하면 프로턱션 코드를 리팩토링한다
  • 리팩토링 : 작동하는것은 그대로 놓고, 내부구현(코드)만 변경한다

Unit Test

  • TDD의 첫번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 이야기한다.
  • 테스트 코드를 먼저 작성 x , 리팩토링 포함 x

    단위 테스트의 장점

    1. 톰캣을 내렸다가 다시 실행하는 일 반복 하지 않아도 된다.
    2. System.out.println()을 통해 눈으로 검증하지 않아도 된다.
    • 테스트 코드를 작성하면 더는 사람이 눈으로 검증하지 않게 자동검증이 가능하다 3. 개발자가 만든 기능을 안전하게 보호해준다
    • 하나의 기능을 추가할 때마다 서비스의 모든 기능을 테스트 할수는 없다 따라서 기존 기능이 잘 작동되는 것을 보장하게 해준다.

Reference