Python 测试框架: 用 Python 测试框架简化测试
2010-09-22 11:23:51 来源:WEB开发网最后,即使 assertEqual() 仍然是必要的,但是从测试模块导入这个函数(而不是通过类继承让函数可用)肯定更简单,更符合 Python 的风格。实际上,在下面会看到,当 py.test 和 nose 要提供更多用来支持测试的例程时,它们只需把这些例程定义为函数,然后用户可以把这些函数导入自己的代码。
当然,如果作者确实需要通过例程缓存状态,以便以后在测试用例中使用,unittest 子类仍然是有意义的,py.test 和 nose 完全支持它们。另外,目前许多 Python 测试编写为 Python 标准库支持的 doctest,它们不需要使用函数或类:
Doctest For The Above Example
-----------------------------
The truth values in Python, named "True" and "False",
are equivalent to the Boolean numbers one and zero.
>>> True == 1
True
>>> False == 0
True
但是,如果程序员希望编写简单的测试代码,不愿意考虑 doctest 涉及的乱七八糟的东西,那么测试函数是很好的方法。总之,测试函数可以极大地增强编写测试的简便性。程序员不需要记住、重写或复制以前编写的测试代码,新的约定让 Python 程序员能够像编写一般 Python 代码一样编写测试:只需打开一个空文件,然后输入!
框架特有的约定
py.test 和 nose 框架都提供特殊的例程,这些例程可以简化测试的编写。可以认为它们分别提供一种方便的测试 “方言”,可以用这些 “方言” 编写测试。这会简化测试的编写并减少错误,还会使测试更简短、可读性更好。但是,使用这些例程还会导致一个重要的后果:您的测试与提供函数的框架捆绑在一起了,丧失了兼容性。
- ››python操作sharepoint对象模型
- ››Python 2.6.2的.pyc文件格式
- ››Python 2.6.2的字节码指令集一览
- ››Python 测试框架: 用 Python 测试框架简化测试
- ››Python 测试框架: 寻找要测试的模块
- ››Python的class系统
- ››Python 和 LDAP
- ››python图形处理库PIL(Python Image Library)
- ››Python图形图像处理库的介绍之Image模块
- ››Python和Google AppEngine开发基于Google架构的应...
- ››Python 3 初探,第 1 部分: Python 3 的新特性
- ››python源码中中文注释的处理
更多精彩
赞助商链接