Измерение покрытия отдельных файлов модульным тестом с помощью Py.Test

Я пытаюсь получить охват моих модульных тестов с помощью Py.Test. Проблема в том, что я также получаю информацию о других файлах Python, которые меня не волнуют.

Вот пример моей файловой структуры. В этом случае я хочу протестировать: car.py, wheel.py и steer.py

python2.7 / site-packages /

  • car.py
  • wheel.py
  • steer.py
  • охват.py (с pypi.python.org)
  • yaml (библиотека python yaml, из pypi.python.org)
  • pytest-2.5.2-py2.7.egg (библиотека python py.test)
  • и многое другое

python2.7 / site-packages / test /

  • test_car.py
  • conftest.py

Теперь я использую Py.Test для выполнения теста:

python -m pytest --cov python2.7/site-packages/ python2.7/site-packages/test/test_car.py

Но это приводит к охвату всех файлов python в пакетах сайтов (что-то вроде очевидного).

python -m pytest --cov python2.7/site-packages/car.py python2.7/site-packages/test/test_car.py

Это приводит к охвату только car.py, а не всех файлов, которые мне нужны.

Как я могу использовать Py.Test только для измерения покрытия определенных файлов?

(Я также пробовал:

python -m pytest --cov python2.7/site-packages/car.py,python2.7/site-packages/wheel.py python2.7/site-packages/test/test_car.py

Но Py.Test не знает, как анализировать и использовать этот аргумент. )


person RvdK    schedule 02.04.2014    source источник


Ответы (1)


Я нашел решение. Вы можете указать несколько --cov file аргументов.

python -m pytest \
  --cov python2.7/site-packages/car.py \
  --cov python2.7/site-packages/wheel.py \
  --cov python2.7/site-packages/steer.py \
  python2.7/site-packages/test/test_car.py
person RvdK    schedule 02.04.2014
comment
@Tengis: пока можно, но не рекомендуется - на решенный вопрос должен быть ответ, иначе поиск не найдет - person Hubert Kario; 14.11.2014
comment
Похоже, что этот флаг не соблюдается, я все равно получаю отчет по всему проекту, а не по одному переданному мной файлу. - person tutuca; 20.12.2019