大概描述一下我的问题:
#执行case 和多线程创建部分的代码
def run_case():
cur_thread_name = threading.current_thread().name
report_name = Path.date_time + '_' + cur_thread_name + 'Report.html'
testlist = unittest.defaultTestLoader.discover(
start_dir=Path.testcase_path_x_mac
, pattern='test*.py')
result = BeautifulReport(testlist)
result.report(filename=report_name, description='Result of test', log_path=Path.report_path)
class myThread(threading.Thread):
def __init__(self, thread_id, name):
threading.Thread.__init__(self)
self.thread_id = thread_id
self.name = name
def run(self):
print('开启线程:' + self.name + '\n')
run_case()
print('退出线程:' + self.name)
if __name__ == '__main__':
thread_list = []
for i in range(len(ListData.node_list)):
thread_name = ListData.node_list[i]
new_thread = myThread(i, thread_name)
thread_list.append(new_thread)
for thread in thread_list:
thread.start()
for thread in thread_list:
thread.join()
会干扰,应该是报错RuntimeError一类的
其实程序能正常执行和达到预测结果那应该就没问题,如果要分析运行过程,建议从unittest的执行过程分析,线程里面用print是很正常的,但现在影响print执行,很大可能是unittest的执行顺序问题
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!