python测试框架unittest如何设置用例优先级_python 的 unittest 测试框架中的测试依赖怎么解决呢…[通俗易懂]

python测试框架unittest如何设置用例优先级_python 的 unittest 测试框架中的测试依赖怎么解决呢…[通俗易懂]好啦,问题已解决,谢谢各位啦,感谢各位提出的思路,感谢@xiaoj(杰)和@keke在这里做个总结:xiaoj(杰)的方法defskipTest(value):defdeco(function):defwrapper(self,*args,**kwargs):ifnotgetattr(self,value):self.skipTest(‘跳过用例’)else:functio…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

好啦,问题已解决,谢谢各位啦,感谢各位提出的思路,感谢@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.net/184850.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • gamma校正到底是个什么玩意儿

    gamma校正到底是个什么玩意儿一.在哪见过、听说过Gamma?  *还用说,AdobeGamma  *常听说MAC的默认Gamma是1.8,PC的是2.2  *我的显卡驱动程序里有Gamma调节  *我下载了一个软件,也可以调节显示器的Gamma  *WinDVD播放器带Gamma校正功能  *ACDSEE的曝光调节里可以调Gamma  *ACDSEE的选项中有Enable

    2022年6月17日
    34
  • 数组转化为list

    数组转化为list1、Arrays.asList(strArray)方式将数组转换List后,不能对List增删,只能查改,否则抛异常。此时是java.util.Arrays.ArrayList这里面有java.util.Arrays里面的内部类,里面没有重写增删方法,就会调用父类的AbstractList,可以看到父类的增删方法,就会报错,即使调用iterator也会报错。publicvoi…

    2022年6月29日
    28
  • 划重点!关于缓冲区溢出攻击,这份防范策略一定要收好!

    划重点!关于缓冲区溢出攻击,这份防范策略一定要收好!一、缓冲区溢出攻击的基本概念缓冲区溢出是一种非常普遍、非常危险的漏洞,在各种操作系统、应用软件中广泛存在。利用缓冲区溢出攻击,可以导致程序运行失败、系统宕机、重新启动等后果。更为严重的是,可以利用它

    2022年6月30日
    32
  • 解决打印机报错:操作无法完成(错误0x00000709)。

    解决:操作无法完成(错误0x00000709)。再次检查打印机名称,并确保打印机已连接到…上午同时说,网络打印机打印不了,于是首先看一下打印服务器IP是不是给换了,结果没换。接着尝试重新添加一

    2021年12月22日
    81
  • mysql查看表结构的命令_数据库查看表命令

    mysql查看表结构的命令_数据库查看表命令一、简单描述表结构,字段类型desctabl_name;显示表结构,字段类型,主键,是否为空等属性,但不显示外键。二、查询表中列的注释信息select*frominformation_schema.columnswheretable_schema=’db’  #表所在数据库andtable_name=’tablename’; #你要

    2025年10月13日
    2
  • java 判断对象是否为空的工具类_如何判断java对象是否为空「建议收藏」

    java 判断对象是否为空的工具类_如何判断java对象是否为空「建议收藏」首先来看一下工具StringUtils的判断方法:一种是org.apache.commons.lang3包下的;另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:StringUtils.isEmpty(CharSequencecs);//org.apache.commons.lang3包下的StringUtils类,判…

    2022年6月22日
    206

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号