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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lammps教程:薄膜渗透模拟(3)–不同孔隙率对过滤效果的影响

    lammps教程:薄膜渗透模拟(3)–不同孔隙率对过滤效果的影响本文是薄膜渗透过滤的最后一篇文章:不同孔隙率薄膜建模。孔隙或空位缺陷的建模原理比较简单:删除一定数量的原子就可以。lammps自带delete_atoms可以随机删除一定比例的原子,如果对孔隙或空位的形状、尺寸等有特殊需求,需要用编程的方法删除原子。delete_atomsporosity命令可随时产生设定比例的原子,如删除50%的原子:delete_atomsporositymembrane0.5482793membrane为原子组0.5为删除原子的比例482793为随机数种子

    2025年8月31日
    3
  • P2P建立加密通道

    P2P建立加密通道核心:DH秘钥交互算法DH算法:对于非对称加密算法部分支持DH算法(spec256K1、curv25519、ed25519不支持但可以转换到curv25519间接实现),PrivA+PubB=PrivB+PubA,算法在公开双方公钥时就可使用各自保存的私钥,进行秘钥的交换;加密随机种子:随机生成nonce值,使用该nonce值以及交换过的秘钥对数据进行加密,nonce值附加到密文头部…

    2022年5月10日
    63
  • propertydescriptor是用来干什么的_java读取property文件

    propertydescriptor是用来干什么的_java读取property文件PropertyDescriptor中文叫属性描述器,是jiavaJavaBean的内省与BeanUtils库JavaBean是一种特殊的类,主要用于传递数据信息,这种类中的方法主要用于访问私有的字段,且方法名符合某种命名规则。如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象”(ValueObject),或“VO”。方法比较少。这些信息储存在类的私有变量中,通过set()、get()获得。JavaJDK中提供了一套API用来访问某个属性的getter/setter方

    2022年9月28日
    4
  • 干掉 “ZooKeeper”,阿里为什么不用 ZK 做服务发现?

    站在未来的路口,回望历史的迷途,常常会很有意思,因为我们会不经意地兴起疯狂的念头,例如如果当年某事提前发生了,而另外一件事又没有发生会怎样?一如当年的奥匈帝国皇位继承人斐迪南大公夫…

    2020年10月18日
    447
  • Redis在Laravel项目中的应用实例详解

    Redis在Laravel项目中的应用实例详解

    2021年10月24日
    105
  • 面试题 HashMap 数据结构 实现原理

    面试题 HashMap 数据结构 实现原理数据结构HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组:数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表:链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那

    2022年5月12日
    48

发表回复

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

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