@classmethod
def setUpClass(cls):
cls.test_passes = 'error'
<some code here...>
def test_validate(self):
try:
self.test_passes = 'ok'
sys.stderr.write(str(cls.test_passes)) #The value of test_passes is `ok`
except AssertionError:
self.github_pr_list()
@classmethod
def tearDownClass(cls):
cls.repo.push()
sys.stderr.write(str(cls.test_passes)) #But here the value of error changes
因此,我尝试使用setUpClass
的值在error
中实例化变量,然后在测试方法中,该值成功更改为ok
,然后再次在tearDownClass
中该值将还原为error
,即使它应为ok
?为什么值会发生变化,我需要做些什么来解决它?