[Python]테스트코드 커버리지 측정 - coverage
SW개발/Python

[Python]테스트코드 커버리지 측정 - coverage

파이썬에서 작성한 테스트 코드의 커버리지를 측정하는 도구가 있다.

https://github.com/nedbat/coveragepy

 

GitHub - nedbat/coveragepy: Code coverage measurement for Python

Code coverage measurement for Python. Contribute to nedbat/coveragepy development by creating an account on GitHub.

github.com

 

Coverage 설치

pip install coverage

먼저 측정을 위해 coverage라는 도구를 설치한다.

 

.coveragerc 설정파일 추가

[run]
include = /커버리지를 측정할 디렉토리명/*
omit = *migrations*, *tests*

프로젝트의 루트 디렉토리에 위와 같은 설정파일을 추가하여 준다.

[run] 옵션 안에 커버리지를 측정할 경로와, 제외할 파일명을 입력할 수 있다.

 

Coverage 측정 & 보기

coverage python manage.py test

위의 명령어를 통해 테스트를 한번 실행시키면 측정된 커버리지를 확인할 수 있다.

 

$ coverage report

Name                      Stmts   Miss  Cover   Missing
-------------------------------------------------------
my_program.py                20      4    80%   33-35, 39
my_other_module.py           56      6    89%   17-23
-------------------------------------------------------
TOTAL                        76     10    87%

report 명령어를 이용하면 콘솔창에서 결과를 확인할 수 있다.

 

$ coverage html

html 명령어를 입력하면 htmlcov/index.html 이라는 파일이 생성되며 여기서 더 자세한 내용들을 확인할 수 있다.

 

index.html
라인별 커버리지

 

테스트 케이스를 어느정도 작성하였다면 커버리지 측정을 통해 놓치고 있는 부분이 어디인지 확인해보는 것이 좋다.

 

728x90