discover(start_dir,pattern='test*.py',top_level_dir=None)
找到指定目录下所有测试模块,并可递归查到子目录下的测试木块,只有匹配到的文件名才会被加载。如果启动的不是顶层目录,那么顶层目录必然单独指定。
- start_dir:要测试的模块名或测试用例的目录。
- pattent=‘test*.py’:表示用例文件名的匹配原则。此处匹配文件名一test开头的所有.py类型文件,*表示任意多个字符。
- top_level_dir=None :测试模块的顶层目录,如果没有顶层目录,默认为None。
import unittest import json import requests from HTMLTestRunner import HTMLTestRunner import time #定义测试用例的目录为当前目录 test_dir = './' discover = unittest.defaultTestLoader.discover(test_dir,pattern = 'test*.py') if __name__=="__main__": #按照一定的格式获取当前的时间 now = time.strftime("%Y-%m-%d %H-%M-%S") #定义报告存放路径 filename = './' + now + 'test_result.html' fp = open(filename,"wb") #定义测试报告 runner = HTMLTestRunner(stream = fp, title = "xxx接口测试报告", description = "测试用例执行情况:") #运行测试 runner.run(discover) fp.close() #关闭报告文件