Testing coverage
Покриття тестами (Test Coverage)
Використовуйте coverage run для запуску вашого набору тестів та збору даних. Як би ви зазвичай не запускали свій набір тестів, ви можете запустити ваш test runner під coverage. Якщо ваша команда запуску тестів починається з "python", просто замініть початковий "python" на "coverage run".
Pytest
Якщо ви зазвичай використовуєте:
тоді ви можете запустити тести під coverage так:Unittest
Замініть "python" на "coverage run", тобто:
Щоб обмежити вимірювання покриття кодом у поточній директорії, а також знайти файли, які взагалі не виконувалися, додайте аргумент --source=. до команди coverage.
Звіт
Використовуйте coverage report для отримання звіту про результати:
coverage report -m
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%
Для більш гарного представлення використовуйте coverage html, щоб отримати анотовані HTML-сторінки з деталізацією пропущених рядків:
Вимірювання покриття зазвичай використовується для оцінки ефективності тестів. Воно може показати, які частини вашого коду обробляються тестами, а які ні.
Ви можете використовувати інструмент coverage.py для вимірювання покриття коду. Він моніторить вашу програму, записуючи, які частини коду були виконані, потім аналізує код, який міг бути виконаний, але не був.
Для запуску вимірювання покриття:
використовуйте команду coverage run для запуску тесту та збору даних. Як би ви зазвичай не запускали тест, ви можете запустити ваш test runner під coverage. Якщо зазвичай команда виконання тесту починається з python, замініть початковий python на coverage run — coverage run -m pytest, потім використовуйте coverage report для звіту про результати:
$ coverage report
Name Stmts Miss Cover Missing
-----------------------------------------------------------
main.py 7 3 57% 8-10
test_main.py 6 0 100%
-----------------------------------------------------------
TOTAL 13 3 77%
для PyCharm Pro натисніть кнопку Run with Coverage на головній панелі інструментів. Це запустить вибрану конфігурацію запуску/налагодження:
![[coverage_button.png.webp]]