Расположение файла .coveragerc при запуске py.test - PullRequest
7 голосов
/ 30 марта 2012

Я пытаюсь запустить pytest для работы с файлом coveragerc.Настройки в моем файле .coveragerc не используются, поэтому я предполагаю, что файл вообще не используется.

См. Структуру моего проекта и вызовы pytest ниже!Что я делаю не так?

Проект:

basepath/lib/
basepath/.coveragerc
basepath/test/test_lib
basepath/test/run.py

Я вызываю test / run.py из virtualenv

basepath$ python test/run.py

run.py

import pytest
pytest.main('test/test_lib -v --cov-report xml --cov lib --cov-config .coveragerc')

Я пытался переместить .coveragerc в разные каталоги, например, lib /, test /, test / test_lib /, но ни один из них не работал.

Я ожидал получить файл покрытия с именем "xxxcoverage", как установлено в.coveragerc, но я всегда получал значение по умолчанию .coverage

.coveragerc

[run]
data_file = xxxcoverage

1 Ответ

5 голосов
/ 10 апреля 2012

Читая документацию pytest снова и снова ... Я нашел свою "ошибку": Здесь здесь написано:

Обратите внимание, что этот плагин управляет некоторыми параметрами, и настройка параметра в файле конфигурации не будет иметь никакого эффекта.К ним относятся указание источника, подлежащего измерению (опция источника) и обработка всех файлов данных (данные_файла и параллельные опции).

Так что мой тест оказался бесполезным, поскольку опция data_file в .coveragerc не имеет никакого эффекта.*

Я тестировал с опцией omit, и она работала!

.coveragerc должен быть помещен в базовый путь, как описано выше (и ожидается)

...