版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
1. unittest框架都包含哪些内容?
TestFixture 测试固定装置 ( 测试固件 )
TestCase 测试用例
TestSuite 测试套件 (测试用例的集合) suite /swiːt/ n. (一套) 家具;套房。
TestRunner 测试执行器 ( 执行测试套件中所有用例 )
(1). TestFixture (如自定义测试类MyTestCase)
SetUp 用例的初始化过程
TestCase 具体要执行测试用例
TearDown 资源释放过程
unittest 是Python自带的测试库,无需安装就可以使用。
import unittest # 导入测试库
class MyTestCase(unittest.TestCase): # 自定义测试类继承 unittest.TestCase
# 每条用例初始化
def setUp(self):
self.initdata = "hello world"
# 测试用例,以test开头
def test_something(self):
self.assertEqual("hello world", self.initdata)
# 每条用例执行完后释放资源
def tearDown(self):
pass
if __name__ == '__main__':
# 声明一个suite
suite = unittest.TestSuite()
# 从类加载用例集
cases = unittest.TestLoader().loadTestsFromTestCase(MyTestCase)
# 添加用例到suite
suite.addTests(cases)
# 声明TestRunner
myTestRunner = unittest.TextTestRunner(verbosity=2)
# 执行Runner
myTestRunner.run(suite)
运行输出结果:
(python3) C:\Users\allar\Desktop>python unittest_demo.py
test_something (__main__.MyTestCase) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK