Python:添加到 setUp 中的 class 变量未按预期工作
Python: Adding to class variable in setUp not working as expected
class TestHead(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.num = 0
def setUp(self):
self.num += 1
def test1(self):
print self.num
def test2(self):
print self.num
输出:
1
1
我不明白。每次测试后 setUp
应该是 运行 并且它所做的只是增加 self.num
不应该是
1
2
在 python 中,class 变量在创建时被实例变量隐藏 - 因此 self.num 是由 class 值初始化的实例变量。您可以访问 TestHead.num 以获得 class 单例。
class TestHead(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.num = 0
def setUp(self):
self.num += 1
def test1(self):
print self.num
def test2(self):
print self.num
输出:
1
1
我不明白。每次测试后 setUp
应该是 运行 并且它所做的只是增加 self.num
不应该是
1
2
在 python 中,class 变量在创建时被实例变量隐藏 - 因此 self.num 是由 class 值初始化的实例变量。您可以访问 TestHead.num 以获得 class 单例。