import unittest
class TestTemplate(unittest.TestCase):
@classmethod
def setUpClass(self):
self.result = 'error'
print "setUpClass"
@classmethod
def tearDownClass(self):
print "The value of result is, ",self.result
if self.result == 'ok':
print "it is working"
print "The value of cls result is : ", self.result
print "TearDownClass"
class MyTest(TestTemplate):
def test_method_one(self):
self.result = 'ok'
print self.result
if __name__ == '__main__':
unittest.main()
在tearDownClass
self.result的值是error
变量的值,而是应该okay
,因为我的方法改变了吗?有没有解决这个问题?变化的单元测试蟒蛇
具有很多意义。但是在python中改变测试类的状态是否是一个好习惯?我试图存储每个测试的结果,无论它通过了还是失败。@ Martjin Pieters –
@HarshdeepSingh:类的状态与实例状态一样动态;如果你需要在实例之间共享状态,那么在课堂上这样做很好。为什么你需要将每个测试的结果存储在测试类中呢?测试运动员已经为你跟踪状态。 –
@HarshdeepSingh你应该检查https://docs.python.org/2/library/unittest.html#unittest.TestResult,正如Martijn所说的,而不是试图自己收集结果。 – ElmoVanKielmo