2017-07-25 63 views
0

我有2類,A和B.Python的單元測試繼承

class A (unittest.TestCase): 
    #methods here 

class B (A): 
    #methods here 

當我嘗試和B類的方法調用self.assertEqual(1,1),我習慣這裏提到的錯誤: Why do I get an AttributeError with Python3.4's `unittest` library? 但是,如果我在A中調用它,一切都很好。 單元測試不遵循常規繼承嗎?是否只有一種非常特殊的方式可以使用它?

+0

(HTTPS [用鹼和亞類的Python單元測試]的可能的複製: //stackoverflow.com/questions/1323455/python-unit-test-with-base-and-sub-class) –

回答

0

我試圖您的例如作爲這類:

import unittest 

class A(unittest.TestCase): 
    def test_a(self): 
     self.assertEqual(1, 1) 

class B(A): 
    def test_b(self): 
     self.assertEqual(2, 3) 


if __name__ == '__main__': 
    unittest.main() 

和它的工作,這是測試結果:

test_a (__main__.A) ... ok 
test_a (__main__.B) ... ok 
test_b (__main__.B) ... FAIL