2017-07-25 5 views
0

Ich habe 2 Klassen A und B.Python Unittest Vererbung

class A (unittest.TestCase): 
    #methods here 

class B (A): 
    #methods here 

wenn ich versuche und self.assertEqual (1,1) in einem Verfahren der Klasse B nennen, erhalte ich die Fehler hier erwähnt: Why do I get an AttributeError with Python3.4's `unittest` library? Aber wenn ich es in A nenne, ist alles in Ordnung. Folgt unittest nicht der regulären Vererbung? Gibt es nur einen ganz bestimmten Weg, wie du es benutzen kannst?

+0

Mögliche Duplikat [Python Unit-Test mit Sockel und Unterklasse] (https: //stackoverflow.com/questions/1323455/python-unit-test-with-base-and-sub-class) –

Antwort

0

ich Ihr Beispiel als solche versucht haben:

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() 

und es hat funktioniert, das ist Testergebnis:

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