Как запустить набор тестов, который входит в 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
, Но это остается обходным путем, и мне все равно хотелось бы знать, существует ли более правильный (и автоматизированный) способ установки и запуска набора тестов