16.3 unittest:自动测试框架
unittest中的自动测试框架基于Kent Beck和Erich Gamma剔除的XUnit框架设计。同样的模式在很多其他语言中都有出现,包括C、Perl、Java和Smalltalk。unittest实现的框架支持固件和测试套件,还提供了一个测试运行工具来完成自动测试。
16.3.1 基本测试结构
按照unittest的定义,测试有两个部分:管理测试依赖库的代码(名为“固件”)和测试本身。各个测试通过派生TestCase并覆盖或增加适当的方法来创建。在下面的例子中,SimplelisticTest有一个test()方法,如果a不同于b,那么这个测试便会失败。
import unittest
class SimplelisticTest(unittest.TestCase):
def test(self):
a = 'a'
b = 'a'
self.assertEqual(a,b)