Я использую 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
Я думаю, этого достаточно, но дайте мне знать, если вам нужно больше информации / выходных данных.
Как мне решить проблему?