如何确信Python 2.7.10不会破坏我的Python 2.7.6代码?

Gui*_*ent 6 python python-2.7

为了简化我的工作,我想从Python 2.7.6迁移到Python 2.7.9/2.7.10.

我需要证明我的Python 2.7.10不会破坏我的软件"使用"Python 2.7.6

我按照将python 2移植到python 3中描述的步骤进行了操作

  • 将我的测试覆盖率从0增加到40%
  • 运行pylint(没有关键的bug)
  • 了解Python 2.7.10和2.7.6之间的差异<我阅读了发行说明

我不能确定100%我的代码不会破坏,但我怎么能有信心?

例如,我是否应该查看2.7.6和2.7.10之间修复的所有Core和Builtins错误?如果我们使用这些方法,请搜索我的代码?

是否存在更好的策略?

100%的代码覆盖率是一个很好的解决方案,但是使用2.7.6和2.7.10之间的修改方法可能比50%覆盖率+ 100%代码更难获得测试.

rth*_*rth 1

这是一个非常小的 Python 更新,几乎可以肯定不会破坏任何内容,即使没有上述步骤(Python 2 到 Python 3 的迁移完全是另一回事)。

至于证明这一点,好吧,不需要进行大量的静态检查和在帮助下阅读发行说明,因为它会告诉您,几乎可以肯定它是向后兼容的(无论如何这是最初的猜测)。

一种可能的方法是在虚拟机中使用 Python 2.7.10 重现生产环境(valgrind 等可以提供帮助)并检查一切是否按预期运行。没有办法100%确定运行它。

增加覆盖范围是个好主意。但就其本身而言,即使是在 Python 2.7.6 上运行的完整覆盖率,也无法告诉您它是否会在 Python 2.7.10 上崩溃。