在Python中编写单元测试可以使用标准库中的unittest模块。
1、unittest 模块
主要使用unittest.TestCase类。继承该类,编写成员方法作为测试用例。类成员方法(测试用例)名以test作为前缀。
import unittest
class TestCls(unittest.TestCase):
def test_method1(self):
...
def test_method2(self):
...
2、测试环境的准备及清理
每个unittest类均可利用setUp、tearDown方法实现测试执行前后的设置跟清理,这两个方法会在测试执行前后自动调用。
class TestCls(unittest.TestCase):
def setUp(self):
"""准备测试环境"""
...
def tearDown(self):
"""清理测试环境"""
...
3、使用断言判断测试结果
1) 使用assert判断True/False
def test_method1(self):
a = 2
b = 3
c = a + b
assert c==5, '%d != %d' % (c, 5)
2) assertEqual
def test_method2(self):
a = 2
b = 3
c = a + b
self.assertEqual(c, 5)
4、执行unittest
调用unittest.main()执行unittest, 代码如下:
import unittest
class TestCls(unittest.TestCase):
def setUp(self):
pass
def test_method1(self):
a = 2
b = 3
c = a + b
assert c==5, '%d != %d' % (c, 5)
def test_method2(self):
a = 2
b = 3
c = a + b
self.assertEqual(c, 5)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
使用python执行测试程序即可。