是否有编写测试友好的Python代码的指南?
我相信:
还有其他建议吗?
答案 0 :(得分:13)
我可以给你编写测试友好代码的最佳提示是首先编写测试。然后编写生产代码(TDD)。鲍勃叔叔设计了三个简单的规则来写TDD:
- 除非要制作,否则不允许您编写任何制作代码 失败的单元测试通过。
- 您不能再编写单元测试了 失败;和编译失败 故障。
- 您不能再编写任何生产代码 足以让一个人失败 单元测试。
醇>
特别是这句话应该沉入:
如果你想到这一点,你会的 意识到你根本无法写作 很多代码都没有 编译和执行某些事情。 实际上,这确实是重点。
同时阅读" Writing Testable Code"来自谷歌的测试专家(适用于java,但也适用于大部分的python)。您还应该下载/阅读该页面上的complete PDF。但快速回顾一下:
- 构造函数执行实际工作
- 深入研究合作者
- 脆弱的全球状态&单身
- 班级太多
醇>
答案 1 :(得分:5)
编写不依赖于其他模型或资源的方法 - 如果需要访问它们,则应将它们传递给方法。
答案 2 :(得分:1)
阿尔弗雷德的答案很棒,但我会为提问者添加一件事:
如果您想阅读一本书,那就是使用pytest在Python中进行测试,我建议您阅读Brian Okken的“使用pytest进行Python测试:简单,快速,有效和可扩展”。它非常适合您想要做的事情而且它是全新的(2017年9月出版)。