globals()函数,实现将参数设置为系统的全局变量


import unittest
import requests



class TestA(unittest.TestCase):
    def setUp(self):
        self.s = requests.session()

    def tearDown(self):
        print('结束')
        
    def test_a(self):
        '''用例a'''
        globals()["a"] = "aaaaaa"    # 用例a的返回值

        # 返回值先给全部办理,存到字典对应key
        print('你的值是什么', globals().keys())
        # 你的值是什么 dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__file__', '__cached__', '__builtins__', 'unittest',                         'requests','TestA', 'a']) 可以注意到 a 已经存到了global()函数的字典中去了,如果要在下个接口使用的话,直接global().get('a')就可以取到值,至于拿到值以后在下个接口里面怎么传,
就要看下个接口的参数都有什么了,视情况而定

        print('你的值是什么', globals().values())
        self.assertEqual(globals()["a"], "aaaaaa")

    def test_b(self):
        '''用例b'''

        # 在用例test_a中全局变量参数global(),通过globals().keys()查看到已经把字典{'a':'aaaaaa'}
        # 的值保存到了全局变量内部,并且在用例test_b中可以使用globals().get('a') 获取到对应的value
        # 然后把value值通过一个参数使用到用例test_b中。
        # 这样就实现了,上个接口返回参数,下个接口进行调用

        b = globals().get('a')  # 引用用例a的返回值
        print("用例b引用用例a的返回值:%s"%b)
        result_b = b+"111"
        self.assertEqual(result_b, "aaaaaa111")

if __name__ == '__main__':
    unittest.main()






# Global.py文件
验证一下global()函数的类型和里面的值
dic = 'name'

globals()[dic] = 'luzhaoshan'

print(globals())
print(globals().keys())
print(globals().values())

下面是打印结果*****************************
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x000000000214C2B0>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': 'E:/PythonProject/202011月份复习/字典取值.py', '__cached__': None, 'dic': 'name', 'name': 'luzhaoshan'}
dict_keys(['__name__', '__doc__', '__package__', '__loader__', '__spec__', '__annotations__', '__builtins__', '__file__', '__cached__', 'dic', 'name'])
dict_values(['__main__', None, None, <_frozen_importlib_external.SourceFileLoader object at 0x000000000214C2B0>, None, {}, <module 'builtins' (built-in)>, 'E:/PythonProject/202011月份复习/字典取值.py', None, 'name', 'luzhaoshan'])







posted @   大海一个人听  阅读(335)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示