python测试框架unittest如何设置用例优先级_python 的 unittest 测试框架中的测试依赖怎么解决呢…[通俗易懂]
好啦,问题已解决,谢谢各位啦,感谢各位提出的思路,感谢@xiaoj (杰) 和@keke
在这里做个总结:
xiaoj (杰) 的方法
def skipTest(value):
def deco(function):
def wrapper(self, *args, **kwargs):
if not getattr(self, value):
self.skipTest(‘跳过用例’)
else:
function(self, *args, **kwargs)
return wrapper
return deco
这个方法适用于当前的测试类中,当且仅当只依赖一个测试用例的时候使用,比如登录,获取用户信息,退出,在这 3 个测试用例中,获取用户信息和退出都依赖登录,所以可以使用这种依赖方法,如果当前的测试用例还依赖了第二个其他的测试用例,则本方法不适应
2.keke 的方法
def dependon(depend=None):
import functools
def wraper_func(test_func):
@functools.wraps(test_func)
def inner_func(self):
if depend == test_func.__name__:
raise ValueError(“{} cannot depend on itself”.format(depend))
print(“self._resultForDoCleanups”, self._resultForDoCleanups.__dict__)
failures = str([fail[0] for fail in self._outcome.result.failures])
errors = str([error[0] for error in self._outcome.result.errors])
skipped = str([error[0] for error in self._outcome.result.skipped])
flag = (depend in failures) or (depend in errors) or (depend in skipped)
test = unittest.skipIf(flag, ‘{} failed or error or skipped’.format(depend))(test_func)
return test(self)
return inner_func
对这个方法做了一下小小的改动,以上就是最新的代码。其中 depend 参数的类型为 string,值就是测试用例的方法名称。
可以适用于依赖的测试用例失败或错误时都跳过测试用例,有 dependon 装饰器标记的用例必须在用例 depend(test_login)之后执行
此方法适用于 python3.4+,如果是低版本的 python3,请将 self._outcome.result 修改为 self._outcomeForDoCleanups,如果你是 python2 版本,请将 self._outcome.result 修改为 self._resultForDoCleanups
最后,再次感谢各位,祝各位春节快乐!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/184850.html原文链接:https://javaforall.cn
相关文章
- 遗传算法做多目标优化_python 遗传算法
- python读取文件如何去除空格_python读取txt文件时怎么去掉空格
- Python爬取网易云歌曲评论,做词云分析
- python 多线程测试_【Python】多线程网站死链检测工具
- 【说站】python旋转图片和压缩像素的方法
- 【说站】python中INF值的介绍
- 【说站】python TestSuite测试套件的使用
- 下列python语句的输出结果是print_下列 Python语句的输出结果是「建议收藏」
- 1行Python代码,把PPT转成图片,python-office功能更新~
- 【测试开发】python系列教程:Python数据类型转换
- Python测试开发入门大纲
- Python 接口测试之处理转义字符的参数和编码问题
- Python 接口测试之结果集比较封装
- 网络工程师学Python-1.6-测试Python环境
- Python比较运算符(关系运算符)
- Python连接redis笔记详解数据库
- 用Python杀掉windows平台下的进程详解编程语言
- python_Day43_协程详解编程语言
- python:dict vs list vs set详解编程语言
- Python实现快速连接Redis数据库(python连接redis)
- 革命性技术:Python与MSSQL的携手合作(python和mssql)
- 在Python中简单调用MySQL(python调用mysql)