generateTestCases(all_data) # 动态生成测试用例函数 if __name__ == '__main__': case_names = [] _main() # 动态生成测试用例 suite = unittest.TestSuite() # 定义一个用例集合 for case_name in case_names: suite.addTest(MyTestCase(case_name)) # 测试用例添加到用例集合 testdir = os.path.dirname(os.path.dirname(__file__)) test_dir = os.path.join(testdir, 'testCase') # 测试用例文件夹 report_dir = os.path.join(testdir, 'result/report') # now = time.strftime("%Y-%m-%d %H_%M_%S", time.localtime()) # filename = '用户中心接口测试报告' + str(now) filename = '用户中心接口测试报告' rep = BeautifulReport(suite) rep_count = rep.stopTestRun(SkipCount) # 获取测试结果 rep.report(description='用户中心测试', filename=filename, report_dir=report_dir) rep_num = { 'all': rep_count['testAll'], 'pass': rep_count['testPass'] - SkipCount, 'fail': rep_count['testFail'], 'skip': SkipCount } print(rep_num) if rep_num['fail'] == 0: print("测试用例全部通过") else: print("测试未通过,请分析测试结果") print("代码更新测试")
for case in args: _unit = unittest.defaultTestLoader.discover( os.path.join(BASE_DIR, 'case'), pattern=case, top_level_dir=os.path.join(BASE_DIR, 'case')) if not _unit._tests: print(f'<{case}> not be found,please check !') continue if _unit._tests: testsuits.addTests(_unit) print(testsuits) beaut = BeautifulReport(testsuits) beaut.suites.run(beaut) # 运行指定的脚本 fields = beaut.stopTestRun() # 提取dict # 我们主要是对 testFail testAll testPass testResult进行更新 # 先获取之前的fileds try: with open('fields_data', 'rb') as f: total_fields = pickle.load(f) except FileNotFoundError: total_fields = {} else: total_fields = total_fields or {} if not total_fields: total_fields = fields else: old_data = deepcopy(total_fields) for res_sub in fields['testResult']: for index, item in enumerate(old_data['testResult']):