Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest
参数化:
import time
import list1 #想测试list1中的求和函数是否正确fun1
import paramunittest
import unittest
#先设置参数组
@paramunittest.parametrized(
{'a':1,'b':1,'c':2}, #前两个是参数a,b,最后一个是真确值
{'a':1,'b':0,'c':1},
{'a':1,'b':0,'c':0}
)
class Testfun(unittest.TestCase):
def setParameters(self,a,b,c): #感觉就是初始化__init__
self.a = a
self.b = b
self.c = c
def testcase(self):
print('开始执行-----')
time.sleep(1)
print('a:%s'%self.a)
print('b:%s'%self.b)
print('c:%s'%self.c)
time.sleep(1)
self.assertEqual(list1.fun1(self.a,self.b),self.c)
if __name__ =='__main__':
unittest.main(verbosity=2) #verbosity就是打印好看一些
结果
想要生成html文件
import os,unittest,HTMLTestRunner
#HTMLTestRunner 这个是py3的,https://www.cnblogs.com/testyao/p/5658200.html下载地址,放到LIb下面
# 用例路径
case_path = os.getcwd() #我的就在当前路径
print(case_path)
# 报告存放路径
report_path = os.getcwd() #存在当前路径
def all_case(): #这个函数用来获取当前路径所有的test开头的测试py文件,所有测试
discover = unittest.defaultTestLoader.discover(case_path,
pattern="test*.py",
top_level_dir=None)
print(discover)
return discover
if __name__ == "__main__":
# html报告文件路径
report_abspath = os.path.join(report_path, "result.html") #
fp = open(report_abspath, "wb")
runner = HTMLTestRunner.HTMLTestRunner(stream=fp, #测试报告写入文件的存储区域
title='自动化测试报告,测试结果如下:',
description='用例执行情况:')
# 调用all_case函数返回值
runner.run(all_case())
fp.close()