编写Python测试的最新方法是什么?要使用哪些模块/框架?
还有一个问题:doctest测试仍然没有任何价值吗?或者是否应该在更现代的测试框架中编写所有测试?
谢谢,Boda Cydo.
And*_*Dog 12
通常的方法是使用内置的单元测试模块,用于创建单元测试和束在一起,以测试其可独立运行套房.unittest与jUnit非常相似(并受其启发)因此非常容易使用.
如果您对最新的变化感兴趣,请查看Michael Foord的新PyCon演讲:
PyCon 2010:新增和改进:对unittest进行更改
使用内置unittest模块与以往一样简单易用.其他单元测试选项,py.test,nose,和twisted.trial大多兼容unittest.
Doctests与它们一直具有相同的价值 - 它们非常适合测试文档,而不是代码.如果您要在文档字符串中放置代码示例,doctest可以确保您保持正确和最新.没有什么比尝试重现一个例子和失败更糟糕了,只是为了后来才意识到它实际上是文档的错.
我对doctests知之甚少,但在我的大学里,我会教授和鼓励鼻子测试.
可以按照以下步骤安装鼻子(我假设您使用的是PC - Windows操作系统):
如果您使用的是其他操作系统,请查看此站点
编辑:
我写这篇文章已经两年了.现在,我已经了解了这个名为Designing by Contract的编程原理.这允许程序员为其代码中的所有函数定义前置条件,后置条件和不变量(称为契约).结果是,如果违反任何这些合同,则会引发错误.
我推荐用于python的DbC框架称为PyContract我已经在我的进化编程框架中成功使用了它