Spring, TDD & Unit test 개념
TDD의 정의
- Test Driven Development
- 테스트 주도 개발 : 테스트가 개발을 이끌어 나간다
TDD의 개념
- 테스트를 먼저 만들고 테스트를 통과하기 위한 코드를 작성하는 것.
레드 그린 사이클 (TDD사이클)
- RED 항상 실패하는 테스트를 먼저 작성하고
- GREEN 테스트가 통과하는 프로덕션 코드를 작성하고
- Refactor 테스트가 통과하면 프로턱션 코드를 리팩토링한다
- 리팩토링 : 작동하는것은 그대로 놓고, 내부구현(코드)만 변경한다
Unit Test
- TDD의 첫번째 단계인 기능 단위의 테스트 코드를 작성하는 것을 이야기한다.
- 테스트 코드를 먼저 작성 x , 리팩토링 포함 x
단위 테스트의 장점
- 톰캣을 내렸다가 다시 실행하는 일 반복 하지 않아도 된다.
- System.out.println()을 통해 눈으로 검증하지 않아도 된다.
- 테스트 코드를 작성하면 더는 사람이 눈으로 검증하지 않게 자동검증이 가능하다
3. 개발자가 만든 기능을 안전하게 보호해준다
- 하나의 기능을 추가할 때마다 서비스의 모든 기능을 테스트 할수는 없다 따라서 기존 기능이 잘 작동되는 것을 보장하게 해준다.
Reference