如何使用Python自动测试更新的依赖项?

时间:2017-07-01 17:11:14

标签: python pypi python-packaging

通常python库依赖于多个其他依赖项,它使用foobar>=2.0.1

之类的范围指定这些依赖项

我正在寻找一种方法来检查新版本的依赖项是否确实引入了不兼容性,并最终确保此信息的安全。

如果他们破坏某些内容,则可以通过添加!=2.0.2等内容来禁止这些版本。

更难以标记验证,例如注释它通过测试版本的事实。

请注意,我正在寻找一种自动化此过程的方法。另请注意,将依赖项升级到通过测试的最新版本是不可接受的选项,因为它可能会引入依赖性死锁。

1 个答案:

答案 0 :(得分:1)

我建议使用ngOnInit() https://tox.readthedocs.io/en/latest/

tox可以创建多个虚拟环境以使用不同的依赖关系进行测试

假设您要测试从版本1.0.0到2.0.0的依赖项tox

您可以使用tox定义10个不同的测试环境,并运行tox以触发10个不同的测试,这些测试在10个隔离的环境中运行foobarfoobar 1.0直到foobar 1.1

请查看foobar 2.0

中的matrix of dependencies

如果在10个隔离环境中运行10次测试套件需要太多时间,您可以尝试使用tox,这可以通过并行运行所有可能的活动来有效利用多个CPU detoxhttps://github.com/tox-dev/detox