from BeautifulReport import BeautifulReport
import unittest
import time
from unittest.case import skip
# coding=utf-8
import sys
import functools
import traceback
def retry_method(n=0): # n为重试次数,不包括必要的第一次执行
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
num = 0
while num <= n:
try:
num += 1
func(*args, **kwargs)
return
except AssertionError:
if num <= n:
trace = sys.exc_info()
traceback_info = ""
for trace_line in traceback.format_exception(trace[0], trace[1], trace[2], 3):
traceback_info += trace_line
print(traceback_info)
args[0].tearDown()
args[0].setUp()
else:
raise
return wrapper
return decorator
class MyTest1(unittest.TestCase):
'''abc'''
def test001(self):
'''test001'''
print('步骤1')
print(1)
print('步骤2')
@unittest.skip("Not Test")
def test002(self):
print(1)
@retry_method(3)
def test003(self):
time.sleep(1)
assert 1==2
if __name__=='__main__':
dis = unittest.defaultTestLoader.discover('D:\eclipse\python_test\src\demo',
'mytest*.py')
print(dis)
result = BeautifulReport(dis)
result.report(filename='myreport.html', description='myClass')
12-10
2156
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-27
386
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-21
2447
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交