本篇主要讲如何通过unittest单元测试框架编写单元测试用例,先看一小段代码:
#首先引入unittest模块,创建Test类继承unittest的TestCase类,可以将TestCase类看成是对特定类进行测试的集合
import unittest
class Test(unittest.TestCase):
#用于测试用例执行前的初始化工作
def setUp(self):
print("test start")
def test_bbb(self):
print("test bbb")
def test_aaa(self):
print("test aaa")
#用于测试用例执行之后的善后工作
def tearDown(self):
print("test end")
if __name__ == '__main__':
unittest.main()
注意:
1.setUP()和tearDown()所做的事情是每个用例都需要的
2.unittest提供了全局的main方法,main()方法使用TsetLoader类来搜索所有包含在该模块中以“test”命名开头的测试方法,并自动执行他们,因此函数命名时必须以“test”开头
运行结果如下:
有时候为了测试,我们只想运行某一个测试用例,怎么办呢?
解决办法:去掉main()方法,采用构造测试集的方法来加载和运行测试用例,如下代码:
import unittest
class Test(unittest.TestCase):
#用于测试用例执行前的初始化工作
def setUp(self):
print("test start")
def test_bbb(self):
print("test bbb")
def test_aaa(self):
print("test aaa")
#用于测试用例执行之后的善后工作
def tearDown(self):
print("test end")
if __name__ == '__main__':
#构造测试集
suite=unittest.TestSuite()
suite.addTest(Test("test_aaa"))
#执行用例
runner=unittest.TextTestRunner()
runner.run(suite)
运行结果如下: