TIL #43 Django - Unit Test

kgh239·2020년 10월 11일
0
post-thumbnail

Unit test

  • Test 종류

    • End-To-End Testing : 실제로 브라우저를 띄우고 구현한 기능들을 하나씩 실제로 테스트하는 방법.
    • Integration Testing : 최소 두개이상의 클래스 또는 서브 시스템의 결합을 테스트하는 방법. ex> Postman 또는 httpie로 호출해서 Json response가 제대로 출력되는지 확인
    • Unit Testing : 작성한 코드의 가장 작은 단위인 함수를 테스트. 즉, 작성한 로직을 테스트하는 유닛테스트 코드를 직접 짜서 테스트
  • Unit test의 장점

    • test 시간이 빠르다.
    • 비용이 적게 든다.

Unit test in Django

django에서는 기본적으로 unit test 기능을 제공한다.
app을 생성하게 되면 test.py 파일이 자동으로 생성되고 여기에 test code을 작성하면 된다.

  1. setup
    작성한 model에 맞게 테스트할 데이터를 생성해 준다.
  2. tearDwon
    모든 테스트가 끝난 후 테스트를 위해 생성한 데이터를 모두 지운다.
  3. 테스트 함수
    실행할 함수의 API를 설정하고 예상되는 결과와 비교하여 test를 진행
    ex> 회원가입 함수가 정상 작동하는 것을 test

테스트 함수는 기능 1개당 1개의 함수가 필요하다. 성공하는 경우 뿐만 아니라 실패가 되는 경우, 예외처리가 되는 경우 등도 모두 테스트 함수를 만들어 테스트 해야 한다.

  1. 실행
    아래 명령어를 터미널에 입력하여 실행
python manage.py test {app이름}
profile
방랑하는 개발자

0개의 댓글