python unittest TestCase间共享数据(全局变量的使用)

在使用unittest过程中,发现有时候如果想在测试用例之间共享变量,无法直接实现。查询之后发现解决方式如下:

1.setupclass里设置self.xxx变量,不同用例之间无法实时共享参数变动
2.setupclass里设置globals().[“xxx”]变量,不同用例之间可以实时共享参数变动
3.setupclass里设置 ClassName.XXX变量,不同用例之间可以实时共享参数变动
4.setupclass之前设置 XXX变量

1.setupclass里设置self.xxx变量,不同用例之间无法实时共享参数变动
在这里插入图片描述
最终结果:
在这里插入图片描述

  • 说明在unttest框架中,testcase中间不共享变量的值,但是都可以从setupclass里面读取统一的变量值
    可以setup时候设置全局变量,不同的case之间就可以共享这个变量了

2.setupclass里设置globals().[“xxx”]变量,不同用例之间可以实时共享参数变动
在这里插入图片描述
最终结果为:
在这里插入图片描述
3.setupclass里设置 ClassName.XXX变量,不同用例之间可以实时共享参数变动
在这里插入图片描述
最终结果:
在这里插入图片描述

  • 我们运行test1的时候,给Mydemo.a可以获取全局变量的a,打印完之后又设置了新的值
  • test2运行的时候,通过2中方式,都能获取到了全局变量的值。

4.setupclass之前设置 XXX变量
在这里插入图片描述
在这里插入图片描述
1.在setup之前设置的变量status,也是全局变量,无法在测试用例里面修改这个全局变量的值。
2.即使通过globals().[‘status’]设置全局变量的值,但是globals().[‘status’]与单独设置的status的值,不是一个变量
3.测试用例读取顺序,先读取局部变量里面的值,再去读取全局变量的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值