Отчет о покрытии модульными тестами для тестов, написанных с использованием пакета unittest и pytest - PullRequest
1 голос
/ 03 августа 2020

В проекте, над которым я сейчас работаю, у меня есть несколько моих коллег, которые написали модульные тесты, используя пакет unittest, а некоторые - пакет pytest. Когда я запускаю модульные тесты в конвейере CI, я вызываю все модульные тесты. Но теперь нам также нужно получить общий пакет покрытия кода. Итак, я обновил скрипт вызова модульного теста, добавив покрытие (см. Фрагмент скрипта ниже). Но я вижу, что когда я запускаю сценарий ниже, я получаю результат покрытия coverage run -a -m pytest -v -m unittests (строка 7 ниже), только не тесты, запущенные ранее. Но если я удалю строку coverage run -a -m pytest -v -m unittests (строка 7 ниже), я получу результат предыдущих модульных тестов.

#!/bin/bash
set -xe
coverage run -m unittest test_a.py
coverage run -a -m unittest test_b.py
coverage run -a -m unittest test_c.py
...
cd process/tests/
coverage run -a -m pytest -v -m unittests
coverage report -m --omit=*/venv/*

охват сообщает только результат coverage run -a -m pytest -v -m unittests, игнорируя ранее запущенные модульные тесты.

Могу ли я узнать, как получить единый отчет для всех модульных тестов в приведенном выше сценарии?

1 Ответ

0 голосов
/ 03 августа 2020

Используется команда объединения для устранения проблемы:

https://coverage.readthedocs.io/en/latest/cmd.html#cmd -combine

...