本文档的主要内容详细介绍的是Python单元测试框架是什么?及如何使用详细代码说明包括了:使用PyUnit构建自己的测试 ,通过PyUnit复用旧测试代码 ,在JPython和Jython中使用PyUnit
Python单元测试框架(The Python unit testing framework),简称为PyUnit, 是Kent Beck和Erich Gamma这两位聪明的家伙所设计的 JUnit 的Python版本。 而JUnit又是Kent设计的Smalltalk测试框架的Java版本。它们都是各自语言的标准测试框架。
此文档仅阐述针对Python的单元测试PyUnit的设计与使用。如需单元测试框架基本设计的背景 信息,请查阅Kent的原始文章“Simple Smalltalk TesTIng: With Patterns”。
自从 Python 2.1 版本后,PyUnit成为 Python标准库的一部分。
以下内容默认您已经了解Python。我觉得Python 非常简单易学而且让人欲罢不能。
PyUnit可以在Python 1.5.2及更高版本上运行。
作者已经在Linux(Redhat 6.0和6.1以及Debian Potato)和Python 1.5.2, 2.0和2.1上对PyUnit 进行了测试。而且PyUnit已知可以在其它操作系统平台上工作,如Windows和Mac。如果您在 任何系统平台或Python版本中遇到麻烦,请让我知道。
如需了解在JPython和Jython中使用PyUnit的细节,请阅读 在JPython和Jython中使用PyUnit部分。
编写测试所需的类可以在“unittest”模块中找到。此模块是Python 2.1和更高版本的标准 库的一部分。如果你在使用更早版本的Python,你应该从单独的PyUnit发布中获得此模块。
为使此模块能在你的代码中正常工作,你只需确保包含“unittest.py”文件的目录 在你的Python搜索路径中。为此,你可以修改环境变量“$PYTHONPATH”或将此文件 放入当前Python搜索路径中的某一个目录中,比如在Redhat Linux系统中的 /usr/lib/python1.5/site-packages目录。
注意,你只有完成此项工作才能运行PyUnit所自带的例子,除非你将“unittest.py”复制到 例子目录。
单元测试是由一些测试用例(Test Cases)构建组成的。测试用例是被设置用来检测正确性的 单独的场景。在PyUnit中,unittest模块中的TestCase 类代表测试用例。
TestCase类的实例是可以完全运行测试方法和可选的设置 (set-up)以及清除(TIdy-up)代码的对象。
TestCase实例的测试代码必须是自包含的,换言之,它可以单独运行或与其它任意数量的测试用例共同运行。