Python3 基础:单元测试

来源:互联网 发布:淘宝天猫商城转让 编辑:程序博客网 时间:2024/05/20 09:24

为了编写单元测试,我们需要引入Python自带的unittest模块。
编写单元测试时,我们需要编写一个测试类,从unittest.TestCase 继承。
test开头的方法就是测试方法,不以test开头的方法不被认为是测试方法,测试的时候不会被执行。
unittest.TestCase 提供了很多内置的条件判断 :

self.assertEqual(abs(-1), 1) # 断言函数返回的结果与1相等

另一种重要的断言就是期待抛出指定类型的Error,比如通过d[‘empty’]访问不存在的key时,断言会抛出KeyError:

with self.assertRaises(KeyError):    value = d['empty']

而通过d.empty访问不存在的key时,我们期待抛出AttributeError:

with self.assertRaises(AttributeError):    value = d.empty

运行单元测试

最简单的运行方式是在单元测试py文件中加上:

if __name__ == '__main__':unittest.main()

然后正常运行测试脚本就可以了。
另一种方法是在命令行通过参数-m unittest直接运行单元测试,这是推荐的做法,因为这样可以一次批量运行很多单元测试,并且,有很多工具可以自动来运行这些单元测试。

setUp与tearDown

可以在单元测试中编写两个特殊的setUp()和tearDown()方法。这两个方法会分别在每调用一个测试方法的前后分别被执行

0 0