AttributeError: 'TestCaseFunction' object has no attribute 'failures'
来源:6-2 自动化测试开发之用例依赖装饰器的实现方法

慕无忌2229432
2022-06-30
老师,请帮忙看一下,提示没有failures属性from functools import wraps
import unittest
class DependencyError(Exception):
def __init__(self, _type=0):
self._type = _type
def __str__(self):
if self._type == 0:
return f'Dependency name pf test is required!'
if self._type == 1:
return f'Dependency name of test can not the case self!'
def depend(case=''):
if not case:
raise DependencyError
_mark = []
def wrap_func(func):
@wraps(func)
def inner_func(self):
if case == func.__name__:
raise DependencyError(1)
_r = self._outcome.result
_f, _e, _s = _r.failures, _r.errors, _r.skipped # 用例的失败,错误,跳过
if not (_f or _e or _s):
func(self)
if _f:
_mark.extend([fail[0] for fail in _f])
if _e:
_mark.extend([error[0] for error in _e])
if _s:
_mark.extend([skip[0] for skip in _e])
unittest.skipIf(
case in str(_mark),
f'The pre_depend case: {case} has failed! Skip the specified case!'
)(func)(self)
return inner_func
return wrap_func
写回答
1回答
-
慕无忌2229432
提问者
2022-07-05
修改pycharm的运行方式,改为unittest运行
00
相似问题