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()