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