我正在开发一个私有Python库,并且我正在其中使用其他公共库。我想为我的自定义库使用的每个公共库定义兼容版本的间隔。
我已经实施了测试来检查该库是否正常工作。只需找到一种方法来在每个公共库的每个组合中测试我的代码。
我尝试使用 tox,但似乎我必须在 tox.ini 文件中编写库的每个组合,以便它可以使用版本不同的库创建环境。有没有一种自动化的方法来做到这一点?
您可以使用tox文档中描述的生成环境,请参阅https://tox.wiki/en/4.12.1/user_guide.html#generative-environment-list
来自文档:
[tox]
env_list = py{311,310,39}-django{41,40}-{sqlite,mysql}
[testenv]
deps =
django41: Django>=4.1,<4.2
django40: Django>=4.0,<4.1
# use PyMySQL if factors "py311" and "mysql" are present in env name
py311-mysql: PyMySQL
# use urllib3 if any of "py311" or "py310" are present in env name
py311,py310: urllib3
# mocking sqlite on 3.11 and 3.10 if factor "sqlite" is present
py{311,310}-sqlite: mock
免责声明:我是 tox 维护者之一。以上部分位于用户指南中,仅遵循安装说明。如果您找不到该信息,您能告诉我们如何改进文档吗?