tox测试,使用setup.py extra_require作为tox deps源

Tho*_*ner 5 python testing setup.py tox

我想使用setup.py作为软件包的权限来安装进行测试,使用extra_requires完成,如下所示:

setup(
    # ...
    extras_require={
        'test': ['pytest', ],
    },
)
Run Code Online (Sandbox Code Playgroud)

Tox似乎只能从requirements.txt文件安装,它只是意味着在测试之前快照需求的步骤(我不知道如何自动执行)或者将测试依赖项复制到tox文件中,这就是我所有的我想避免.一个邮件列表帖子建议tox.ini应该是测试依赖项的权限,但我不希望将tox完全插入到项目中.

hel*_*rco 13

你现在有"额外"选项:

# tox.ini
...
[testenv]
...
extras = test
Run Code Online (Sandbox Code Playgroud)

资料来源:https://tox.readthedocs.io/en/latest/config.html#conf-extras


Pet*_*ino 5

有时“ extras ”选项无法解决问题(例如,当您的 extras 依赖项需要来自该deps部分的依赖项时;例如,当您使用pytest-django并且您的 extras 依赖项未安装 Django 本身时)。

在这种情况下,您可以简单地在该部分安装您的附加组件,deps如下所示:

# tox.ini
[testenv]
deps = .[test]
Run Code Online (Sandbox Code Playgroud)

像往常一样,句点.代表当前项目(当前路径),后面是括号中的附加内容。这就像pip install .[test]意愿一样。