Как запустить набор тестов, который входит в sdist?

Я хотел бы иметь возможность запускать набор тестов, когда "mypackage" установлен через pip,

Я создал mypackage-version.tar.gz подать сам, используя python setup.py sdist, mypackage-version.tar.gz содержит tests/ каталог (более того, .egg-info/SOURCES.txt внутри него есть список всех файлов tests/ тоже).

Но после того, как я бегу pip install mypackage-version.tar.gz в выделенной новой виртуальной среде нет tests/ каталог в любом месте в виртуальной среде:

$ find ./myvenv/ -name "*tests*"
./myvenv/lib/python3.6/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-36.pyc
./myvenv/lib/python3.6/site-packages/pip/_vendor/webencodings/tests.py

чтение pip документация или вывод pip install --helpЯ просто не могу понять, есть ли способ спросить pip правильно установить тесты вдоль остальных.

Я также пытался распаковать tests/ каталог вручную (вместе с pytest.ini), но тесты не запускаются, потому что pytest жалуется на то, что не нашел mypackage модуль (ModuleNotFoundError: No module named 'mypackage'), даже если оба pytest а также mypackage показать в pip list... и оба они из виртуальной среды (как which команда рассказывает), а также pip а также python (это может import mypackage).

Однако ручная распаковка выглядит странно, поэтому, прежде чем углубляться в это, я хотел бы знать, как правильно поступить: использовать pip? Ручная распаковка? Что-нибудь еще? Я что-то упускаю из виду?

РЕДАКТИРОВАТЬ: наконец, я мог бы запустить распакованные вручную тесты, используя python -m pytest, Но это остается обходным путем, и мне все равно хотелось бы знать, существует ли более правильный (и автоматизированный) способ установки и запуска набора тестов

0 ответов

Другие вопросы по тегам