使用Python unittest 构建单元测试步骤
1.确定被测程序
2.编写测试用例
3.构建测试用例集合
4.运行测试
具体操作流程:
一、准备被测程序(t20190903unite.py)
import requests
class Math:
def add(self, a, b):
return a+b
def sub(self, a, b):
return a-b
m = Math()
编写测试用例(t20190903unite_test.py)
'''
1.导入被测试的模块
from test.t20190903unite import Math
2. 需要引入unittest单元测试框架
'''
import unittest
from unittest_sample01.t20190903unite import Math
class t20190903unite(unittest.TestCase):
'''setup 里初始化数据 执行每一个用例都会被调用'''
def setUp(self):
self.a = 4
self.b = 7
print("start")
'''测试用例必须要以test开头'''
def test_add(self):
result = Math().add(self.a, self.b)
print("加法",result)
self.assertEqual(11, result, msg="add失败了")
def test_sub(self):
result = Math().sub(self.a,self.b)
print("减法", result)
def tearDown(self):
print("end")
if __name__=="__main__":
unittest.main
t20190903unite_test.py 是可以直接被运行,当一般都构建测试用例集合,在测试集合中运行测试用例
三、构建测试用例集合,运行测试,加载测试用例到suite中有很多方法,选择自己所属方式即可
import unittest
from unittest_sample01.HTMLTestRunner_cn import HTMLTestRunner
from unittest_sample01 import t20190903unite_test
from unittest_sample01.t20190903unite_test import t20190903unite
'''创建一个测试集合'''
suite = unittest.TestSuite()
'''构建一个加载器'''
ts = unittest.TestLoader()
suite.addTests(ts.loadTestsFromModule(t20190903unite_test))
'''方法一:模块中加载测试类到suite'''
'''
ts = unittest.TestLoader()
suite.addTests(ts.loadTestsFromModule(t20190903unite_test))
'''
'''方法二:加载一条测试用例
suite.addTest(t20190903unite("test_add"))
'''
'''
方法三:
加载多条测试用例
suite.addTests([t20190903unite("test_add"),t20190903unite("test_sub")])
'''
'''构造一个测试报告实例'''
runner = HTMLTestRunner(title="测试报告",description="测试报告",stream=open("sample_test_report_appium.html","wb"),
verbosity=2, retry=1, save_last_try=True)
'''运行测试用例'''
runner.run(suite)
生成测试结果,用了一个HTMLTestRunner_cn生成测试报告,界面比较好看,是从码云上找到了,需要去码云搜一下。