소프트웨어 프로젝트를 진행할 때, 코드가 얼마나 테스트되었고 어느 정도의 코드가 테스트되지 않았는지를 파악하는 것은 매우 중요합니다. 이를 위해 코드 커버리지 (code coverage) 도구를 사용하여 테스트가 얼마나 코드를 실제로 실행하는지를 측정할 수 있습니다.
pytest-cov가 무엇인가요?
pytest-cov는 Python 테스트 프레임워크인 pytest와 호환되는 확장 모듈로, 코드 커버리지 측정을 지원합니다. 이를 통해 테스트를 실행하면 코드 중 어느 부분이 실행되었고 어느 부분이 실행되지 않았는지를 확인할 수 있습니다.
pytest-cov를 설치하고 사용해보기
먼저 pytest-cov를 설치합니다. 다음과 같이 명령어를 실행하여 설치할 수 있습니다.
pip install pytest-cov
이제 pytest를 이용하여 코드 커버리지를 측정하려면, 명령어 뒤에 --cov
플래그를 사용하면 됩니다.
pytest --cov=프로젝트_디렉토리_경로
이렇게 하면 테스트가 실행되고 코드 커버리지를 확인할 수 있습니다.
리포팅
코드 커버리지를 측정했다면, 결과를 리포팅하여 확인하는 것이 좋습니다. pytest-cov는 여러 가지 리포팅 형식을 지원합니다. 예를 들어, 다음 명령어를 실행하여 텍스트 리포팅을 생성할 수 있습니다.
pytest --cov=프로젝트_디렉토리_경로 --cov-report=term
이제 터미널에서 텍스트 형식의 코드 커버리지 리포팅을 확인할 수 있습니다.
결론
pytest-cov를 사용하면 테스트 스위트 실행 중 코드 커버리지를 측정하고 리포팅하는 것이 매우 간단해집니다. 이를 통해 코드의 어느 부분이 테스트되지 않았는지를 파악하고 이에 대한 대응을 할 수 있습니다.
마지막으로, 코드 커버리지는 단순히 테스트가 얼마나 많은 부분을 실행했는지를 나타내는 것이 아니라, 실제로 얼마나 코드를 커버했는지를 보여줍니다. 그러므로 코드 품질 향상을 위해 꼭 활용해야 하는 도구 중 하나입니다.
참고: