声明测试依赖项的Python方法

问题描述 投票:0回答:1

应该有一种——最好只有一种——明显的方法来做到这一点。

根据 Python 的禅宗……Python 的测试依赖管理并不可取。

管理测试依赖关系的方法有几十种。例如:dev-dependency.txt、setup.py extras_require、tests_require、setup.cfg、某种 tox 咒语(tox 支持你能想到的任何东西),我想也许是 pyproject.toml 的工具部分?

是否有关于当前最佳实践的好文章?这是一个难以驾驭的问题,有太多的可能性,我似乎无法在任何地方找到共识。

如果对于如何做到这一点没有达成普遍共识,是否有与 PyCharm 良好集成的最佳方法?我的大部分构建经验都是通过 Gradle/Maven 使用 Java,它确实有一种相当固执己见的处理依赖关系的方式,我正在寻找类似的东西(一些强烈固执己见的东西)。

python pytest setuptools tox pyproject.toml
1个回答
0
投票

这个问题有点基于意见,但我认为当前的最佳实践是将您的测试依赖项放入 pyproject.toml 中的

an extra
中(当然,假设您像一个好的现代工具一样使用
pyproject.toml
项目应该;如果你不是,我推荐 Hatch)。

[project.optional-dependencies]
test = [
    "pytest",
    "pytest-cov",
]

这样,您可以使用

pip install -e .[test]
将这些安装在本地工作环境中(即“将此软件包安装为可编辑的,并带有额外的
test
),如果需要,可以在
tox.ini
中使用

[testenv]
extras = test
© www.soinside.com 2019 - 2024. All rights reserved.