.coveragerc не может найти файлы, которые я хочу опустить - PullRequest
0 голосов
/ 05 февраля 2019

Я использую tox для автоматического запуска моих тестов с использованием плагина pytest и pytest-cov.Однако я получаю отчеты о покрытии файлов, которые я пропустил в .coveragerc:

(env) alex@smartalex-pc:~/.repos/codelib/github/project$ tox

[...]

../../../tests/test_module1.py::test_func PASSED  [  3%]

[...]

../../../tests/test_module2.py::test_func PASSED  [100%]

----------- coverage: platform linux, python 3.6.7-final-0 -----------
Name                                                                                                   Stmts   Miss  Cover
--------------------------------------------------------------------------------------------------------------------------
/home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/__init__.py             0      0   100%
/home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/__main__.py             2      2     0%
/home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/application.py         40      0   100%
/home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/core.py                73      0   100%
/home/alex/.repos/codelib/github/project/.tox/py36/lib/python3.6/site-packages/package/user_interface.py      45      0   100%
--------------------------------------------------------------------------------------------------------------------------
TOTAL                                                                                                        160      2    99%

Кажется, что tox не использует мои .coveragerc.Я попытался явно указать файл конфигурации с --cov-config={toxinidir}/.coveragerc, но я снова получил тот же результат.

Упрощенная структура проекта:

package/
    __init__.py
    __main__.py
    application.py
    core.py
    user_interface.py
tests/
    test_module1.py
    test_module2.py
.coveragerc
pytest.ini
setup.py
tox.ini

Это мой tox.ini:

[tox]
envlist = py36

[testenv]
changedir = {envtmpdir}
deps = 
    trio
    -r dev-requirements.txt
commands =
    pytest -v {toxinidir}/tests --cov=package --cov-config={toxinidir}/.coveragerc

Это мой .coveragerc:

[run]
omit =
    package/__main__.py
    package/__init__.py

Это мое pytest.ini:

[pytest]
trio_mode = true

Я думаю, этого достаточно, но дайте мне знать, если вам нужно больше информации / выходных данных.

Как мне решить проблему?

1 Ответ

0 голосов
/ 05 февраля 2019

Изменить .coveragerc на:

[run]
omit =
    */package/__main__.py
    */package/__init__.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...