我在python 2.7.3中创建了一个中等大小的项目,包含大约100个模块。我想知道以前哪个版本的python(例如:2.6.x,2.7.x)是我的代码兼容(在公共领域发布我的项目之前)。找到它的最简单方法是什么?
我知道的解决方案 -
请提供更好的解决方案。
答案 0 :(得分:2)
在没有一些测试用例的情况下,我真的不知道如何绕过这种方法。即使您的代码可以在较旧版本的python中运行,也不能保证它没有一套充分测试代码的测试用例就能正常工作
答案 1 :(得分:1)
不,你所命名的几乎就是它的完成方式,尽管What's New页面和正确的文档可能比完整的更新日志更有用。与这样一个巨大的移动目标的兼容性是不可行的,甚至可以部分自动化。这听起来不像听起来那么多,因为:
所以,你可以将自己限制在2.7(它已经存在三年),或者对旧版本执行测试。如果您只是想确定 是否兼容,而不是哪些不兼容以及如何修复它们,您可以:
答案 2 :(得分:1)
1)如果您要保持与先前版本的兼容性,那么测试是可行的方法。即使您的代码现在恰好兼容,如果您不注意,它也可能在将来的任何时候停止。
2)如果向后兼容性不是一个目标,而只是一个“对于那些幸运的人来说很好的侧面功能”,OSS的一个简单方法就是让用户试一试,注意“它已经在{{1}中进行了测试但也可以在以前的工作中使用“。如果您的用户群中有任何人对在早期版本中运行代码感兴趣(并保持与它的兼容性),他们可能会给您反馈。如果没有,为什么要这么麻烦?
答案 3 :(得分:1)
使用一些测试用例会轻松很多,但手动测试可以给你一个合理的想法。
采取你希望支持的最远的版本(我建议2.5.x但如果你必须进一步回来 - 用那个版本手动测试,记录你做了什么,特别是如果有的话,如果有的话 - 如果有的话 - 它确实失败然后解决问题或进行二进制搜索以查看故障点消失的版本。如果你从一个你很确定你会失败的版本开始,这可能会更好,2.0也许。