- Test Driven Development 테스트 주도 개발
- 실패
- 실패하는 테스트 케이스를 먼저 만드는 것
- 프로젝트의 전체 기능에 대해서 모든 테스트 케이스를 작성하는 것이 아닌 가장 구현할 기능 하나씩 테스트 케이스를 작성
개발 팀/상황에 따라 한꺼번에 여러 테스트 케이스 작성하기도 함
- 성공
- 테스트 케이스를 통과시키기 위하여 코드를 작성하여 테스트를 통과시키는 것
- 리팩토링
- 코드의 중복되는 코드가 존재하거나 개선시킬 방법이 있다면 리팩토링을 진행
- 리팩토링을 진행하고 나서도 테스트 케이스가 성공하는지 확인
- TDD를 진행하면서 테스트 케이스를 작성할 때 주로 작은 단위로 만듬
- 코드를 작성할 때 코드가 너무 방대하지 않고 코드의 모듈화가 잘 이루어지면서 개발이 진행
- TDD를 하면 자연스레 테스트 커버리지가 up - 테스트를 먼저 작성하고 구현을 하기 때문 - 테스트 커버리지가 높아지면 결국 리팩토링도 쉬워지고 유지보수도 쉬워짐
협업할 때의 도움과 버그에 낭비하는 시간을 줄일 수 있다는 장점이 있음
- describe 내부에 또 describe를 작성 가능하다.
it 내부에 또 다른 it이나 describe 작성은 불가능하다.
toEqual
객체 또는 배열을 비교하는 상황에서 사용한다!!!