码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-06-25 23:28:10      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:tca   mac   不可   ase   setup   导致   函数   lob   elf   

问题描述:
在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,然而呃 比较复杂

标签:tca   mac   不可   ase   setup   导致   函数   lob   elf   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!