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

转载:https://blog.csdn.net/chenmozhe22/article/details/81302780

1.setupclass里设置self.xxx变量,不同用例之间无法实时共享参数变动
from settings import *
import requests,json
import unittest


class Login(unittest.TestCase):

    @classmethod
    def setUpClass(self):
        api_token = '/v1/api/common/getToken'
        self.real_token_url = API_TEST_BASE_URL + api_token
        self.token = None

    def test_get_token(self):
        r = requests.post(url=self.real_token_url)
        self.token = json.loads(r.text)['model']['token']
        print("第一个case获得的token:",self.token)
        return self.token

    def test_get_u(self):
        print("第二个case获得token值:",self.token)


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






setupclass里设置globals().[“xxx”]变量,不同用例之间可以实时共享参数变动



from settings import *
import requests,json
import unittest


class Login(unittest.TestCase):

    @classmethod
    def setUpClass(self):
        api_token = '/v1/api/common/getToken'
        self.real_token_url = API_TEST_BASE_URL + api_token
        globals()["token"] = None

    def test_get_token(self):
        r = requests.post(url=self.real_token_url)
        globals()["token"] = json.loads(r.text)['model']['token']
        print("第一个case获得的token:",globals()["token"])
        return globals()["token"]

    def test_get_u(self):
        print("第二个case获得token值:",globals()["token"])

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


3.setupclass里设置 ClassName.XXX变量,不同用例之间可以实时共享参数变动



import unittest

class Mydemo(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        Mydemo.a = "88"

    def test1(self):
        print("test1-----{}".format(Mydemo.a))
        Mydemo.a = "99"

    def test2(self):
        print("test2-----{}".format(self.a))
        print("test2_2---{}".format(Mydemo.a))


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


4.setupclass之前设置 XXX变量

class AlienTest(unittest.TestCase):
    status = 200

    @classmethod
    def setUpClass(cls):
        cls.url = "http://www.baidu.com"
        globals()['status'] = 300

    def test_1_alien(self):
        print("test_1_status:", self.status)

    def test_2_alien(self):
        self.status = 404
        print("test_2_status", self.status)

    def test_4_alien(self):
        print("test_4_global_status", globals()['status'])
        print("test_4_status", self.status)


if __name__ == '__main__':
    unittest.main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值