Ответ 1
Я нашел другое решение. Я использовал combine
функцию (читать здесь)
Поэтому я запускаю свое покрытие как: coverage run -p
, а затем я делаю coverage combine
.
Это все. Он генерирует 1 комбинированный отчет.
Мне интересно, возможно ли объединить файлы coverage.xml
в 1 файл, чтобы увидеть глобальный отчет в выводе HTML.
У меня есть моя unit/functional tests
, работающая как 1 команда, и integration tests
в качестве второй команды. Это означает, что мой охват для unit/functional tests
переопределяется unit tests
.
Было бы здорово, если бы у меня было какое-то решение для этой проблемы, главным образом путем объединения этих файлов в 1 файл.
Я нашел другое решение. Я использовал combine
функцию (читать здесь)
Поэтому я запускаю свое покрытие как: coverage run -p
, а затем я делаю coverage combine
.
Это все. Он генерирует 1 комбинированный отчет.
Невозможно объединить файлы .xml, но вы можете объединить файлы необработанных данных. Ваш рабочий процесс будет выглядеть следующим образом:
$ COVERAGE_FILE=.coverage_func coverage run the_functional_tests.py
$ COVERAGE_FILE=.coverage_inte coverage run the_integration_tests.py
$ coverage combine
$ coverage xml
Вы можете достичь того же результата, используя опцию добавления. Предположим, что вы запустили покрытие на трех сценариях Python. После первого покрытия используйте -a для добавления.
coverage run first.py
coverage run -a second.py
coverage run -a third.py
Распечатать отчет
coverage report -m
Выход: Отчет
Name Stmts Miss Cover Missing
----------------------------------------------
first.py 97 1 99% 95
second.py 1 0 100%
third.py 10 0 100%
----------------------------------------------
TOTAL 108 1 99%
Если ваш исходный код находится в каталоге с именем my_project
, вы также можете сделать это, если вы включили pytest
и pytest-cov
в виртуальную среду:
pytest --cov-report html --cov=my_project unit_tests
pytest --cov-report html --cov=my_project --cov-append functional_tests
--cov-append
добавит информацию о покрытии функционального теста в файл покрытия, который был создан при запуске модульных тестов.
Используйте опцию -a с командой покрытия покрытия. Например: пробег покрытия -a test1.py Это добавит результаты в существующий файл покрытия, подтвердите то же самое, выполнив отчет о покрытии.