기능 테스트(FT)는 사용자 관점에서 애플리케이션 외부를 테스트 하는 것이고,
단위 테스트(Unit Test) 는 프로그래머 관점에서 그 내부를 테스트 하는 것이다.
기능 테스트는 제대로 된 기능성을 갖춘 애플리케이션을 만들게 도와주고,단위 테스트는 깔끔하고 버그 없는 코드를 작성하도록 돕는다.
Test 작성 순서
- 기능 테스트 작성 - 사용자 관점에서 새로운 기능을 정의한다.
- 기능 테스트가 실패하고 나면, 어떻게 코드를 작성해야 테스트를 통과할지 단위 테스트를 이용해서 정의한다.
- 단위 테스트가 실패하고 나면 단위 테스트를 통과할 수 있을 정도의 최소한의 코드만 작성한다.
기능 테스트가 완전할 때까지 2, 3을 반복한다.
- 기능 테스트를 재실행해서 통과하는지 확인한다.
unittest의 코드 주기
- 어떻게 실패하는지 확인한다.
- 실패 테스트를 수정하기 위한 최소한의 코드를 변경한다.
작은 단위로 나누어서 테스트를 해야 한다.
우리가 테스트 할 것은?
장고의 흐름
- 특정 URL에 대한 HTTP 요청을 받는다.
- 해당 요청에 어떤 뷰 함수를 실행할지 결정한다. - URL 해석
- 요청을 처리해서 HTTP 응답으로 반환한다.
여기서 우리가 테스트 해야 하는 것은
- 특정 뷰 기능에 매칭 할 수 있는지
- 뷰가 응답을 반환하게 해서 기능 테스트를 통과할 수 있는지
resolve
: 장고 내부적으로 사용하는 함수로 URL을 해석해서 일치하는 뷰 함수를 찾는다.