python中unittest库的用法,python3 unittest
下面的例子是一个通用测试框架的基本结构。
框架的知识点包括:实例化被测模块类、加载测试用例、封装测试套件、保存测试输出结果、生成测试报告等。
测试包括:跳过一个案例、成功执行和失败执行。
#要测试的模块-myclass.py
类别myclass:
def __init__(self):
及格
定义总和(自身,x,y):
返回x y
def sub(自身,x,y):
返回x-y
def cheng(self,x,y):
返回x*y
#单元测试模块-mytest.py
导入测试#导入测试模块
Import myclass #导入要测试的模块类mytest(unittest。测试用例):
#初始化工作
定义设置(自身):
Self.tclass=myclass.myclass() #实例化被测模块中的类#并退出清理工作。
定义拆卸(自身):
通过#特定测试案例
def test_sum(自身):
self . assert equal(self . tclass . sum(1,2,3) #跳过一个案例
@ unittest . skip(‘我不想运行这个案例。’)
def test_sub(自身):
self . assert equal(self . tclass . sub(4,2),2) def test_cheng(self):
self . assert equal(self . tclass . cheng(2,3),5)
if __name__==__main__ :
#负载测试用例(这句话相当于tests=[mytest (test _ sum )、mytest (test _ sub )、mytest (test _ cheng)])
Tests=unittest.testloader()。loadtestsfromtestcase (mytest) #使用测试套件并打包测试用例(addTests()等价于addTest())
suite=unittest。测试套件()
Suite.addTest(tests) #保存unittest的测试输出日志
log_name=log.txt
其中open(log_name, w )为f:
result=unit test . texttestrunner(stream=f,verbosity=2)。Run (suite) #如果不保存测试输出,执行下面的命令
# result=unit test . texttestrunner(verbosity=2)。运行(suite) #生成测试报告
print( tests run:% s % result . tests run)
print(失败次数:%s %len(result.failures))
print(错误:%s %len(result.errors))
打印(跳过:% s% len(结果。跳过)#以上“if _ _ name _= _ _ main _ _ :”下的内容,完全可以使用“unittest”。Main()”代替(假设所有的测试模块都以test开始)
交互式执行结果:
测试输出结果(日志):
测试结果保存在:C:\Users\xxx\Desktop
转载请联系作者获得授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。