我希望能够在通过安装“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
. 但这仍然是一种解决方法,我仍然想知道是否有更合适(和自动化)的方式来安装和运行测试套件