본문 바로가기

Books/about dev

[깔끔한 파이썬 탄탄한 백엔드] 8장 unit test🔍

8장 unit test

기능만 고려했을 때 3가지 테스트 방법

  • UI test / End-To-End test
  • integration test
  • unit test

UI test / End-To-End test

UI에 직접 입력하고 클릭하는 등을 통해서 기능이 정상적으로 작동하고 화면이 정상적으로 작동하는지 테스트해 보는 방식.

서비스를 구성하는 모든 시스템을 실행하고 연결한 후 테스트를 진행해야함.

Integration test

테스트하고자 하는 서버를 실제로 실행시키고, 테스트 HTTP 응답이 리턴되는지 확인하는 방식.

테스트하고자하는 해당 시스템만 실행시켜 테스트함.

Unit test

코드로 코드를 테스트하는 방식. 자동화는 100% 가능하며 실행속도도 빠르다. 디버깅이 비교적 쉽다.

파이썬3에서 unittest라는 모듈이 이미 포함되어있음.

pytest

pytest 는 더 직관적으로 unit test를 구현할 수 있는 외부라이브러리이다.

설치는 pip install pytest 로 하면된다.

파일 이름의 앞부분에 test_라고 되어 있는 파일들만 테스트 파일로 인식하고 실행한다.

함수 또한 앞부분에 test_라고 되어있는 함수들만 실제 unit test 함수로 인식하고 실행시킨다.

파일 수정 후 다음의 명령어로 test를 한다.

pytest -p no:warnigs -vv

unit test를 처음 해봤는데 아직 코드 자체도 낯설지만 꼭 필요한 과정이니까 많이 보고 눈에 익혀야겠다.👀