pytest-coverage
pytest를 실행하여 커버리지 보고를 통해 테스트되지 않은 코드 라인을 식별하고 제거합니다. cov_annotate/ 디렉토리에 주석이 포함된 소스 파일을 생성하며, ! 표시로 커버되지 않은 라인을 나타냅니다. --cov=module_name 옵션을 통해 모듈별 커버리지 확인과 특정 테스트 파일에 대한 타겟 테스트 실행을 지원합니다. 워크플로우: 커버리지 실행, 주석 파일에서 커버되지 않은 라인 검토, 갭을 메우기 위한 테스트 작성, 100% 커버리지 달성 시까지 반복합니다.
npx skills add https://github.com/github/awesome-copilot --skill pytest-coverageThe goal is for the tests to cover all lines of code.
Generate a coverage report with:
pytest --cov --cov-report=annotate:cov_annotate
If you are checking for coverage of a specific module, you can specify it like this:
pytest --cov=your_module_name --cov-report=annotate:cov_annotate
You can also specify specific tests to run, for example:
pytest tests/test_your_module.py --cov=your_module_name --cov-report=annotate:cov_annotate
Open the cov_annotate directory to view the annotated source code. There will be one file per source file. If a file has 100% source coverage, it means all lines are covered by tests, so you do not need to open the file.
For each file that has less than 100% test coverage, find the matching file in cov_annotate and review the file.
If a line starts with a ! (exclamation mark), it means that the line is not covered by tests. Add tests to cover the missing lines.
Keep running the tests and improving coverage until all lines are covered.