首页 > 其他 > 详细

unittest的执行顺序 -- 问题:需要加个全局判断来 skipif,然而呃 比较复杂

时间:2020-06-25 23:40:44      阅读:170      评论:0      收藏:0      [点我收藏+]

问题描述:
在MacOS上,支持 smb & nfs;
有个testcase 与 hardlink相关, hardlink只存在nfs上。

更不可详细描述的细节, 类似于如下:
global parameter = smb
def set_up(self):
global parameter
parameter = nfs
return parameter

然后在 unittest.SkipIf(parameter=smb, "not support on smb")
导致无论参数 是什么 ,都会取到 smb, 而在它skip的这个case内部,parameter 已经是nfs了

最后查明unittest 执行顺序:
先执行声明的全局变量----->unittest.skipif()------->setupClass()内容----->测试用例按字母排序执行

解决方法: 另外定义一个变量,在函数内部判断,如果是smb,就打log,返回。

unittest的执行顺序 -- 问题:需要加个全局判断来 skipif,然而呃 比较复杂

原文:https://www.cnblogs.com/vivivi/p/13193309.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!