контекст < /h2>
Я обновляю унаследованный репозиторий, который имеет плохое покрытие тестирования. Сам репо является плагином Pytest. Я изменил репо, чтобы использовать Tox вместе с Pytest-cov и преобразовал тесты «RAW» для использования Pytester , как предложено в документации Pytest при тестировании плагинов. Тем не менее, охват сообщает о ложных промахах с такими вещами, как определения классов, импорт и т. Д. Это потому, что сам код импортируется как часть Pytest Instantiation, и не станет «покрытым» до тех пор, пока не начинается тестирование. Я исчерпал свой пул комбинаций ключевых слов Google, которые могут привести меня к хорошему решению.pkg_root/
.tox/
py3/
lib/
python3.7/
site-pacakges/
plugin_module/
supporting_module.py
plugin.py
some_data.dat
plugin_module/
supporting_module.py
plugin.py
some_data.dat
tests/
conftest.py
test_my_plugin.py
tox.ini
setup.py
< /code>
Некоторые соответствующие фрагменты с комментариями: < /p>
tox.ini
[pytest]
addopts = --cov={envsitepackagesdir}/plugin_module --cov-report=html
testpaths = tests
< /code>
Эта конфигурация дает мне ошибку, что данные не были собраны; В этом случае не создается HTMLCOV.pytest_plugins = ['pytester'] # Entire contents of file!
< /code>
test_my_plugin.py
def test_a_thing(testdir):
testdir.makepyfile(
"""
def test_that_fixture(my_fixture):
assert my_fixture.foo == 'bar'
"""
)
result = testdir.runpytest()
result.assert_outcomes(passed=1)
< /code>
Как я могу получить точный отчет? Есть ли способ отложить загрузку плагина, пока не потребуется тесты Pytester?
Подробнее здесь: https://stackoverflow.com/questions/622 ... est-plugin
Как получить отчет о покрытии при тестировании плагина Pytest? ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение