Der Unterschied zeigt sich, wenn Sie mehr als eine Testmethode in Ihrer Klasse haben. setUpClass
und tearDownClass
werden einmal für die gesamte Klasse ausgeführt; setUp
und tearDown
werden vor und nach jeder Testmethode ausgeführt.
Zum Beispiel:
class Example(unittest.TestCase):
@classmethod
def setUpClass(cls):
print("setUpClass")
def setUp(self):
print("setUp")
def test1(self):
print("test1")
def test2(self):
print("test2")
def tearDown(self):
print("tearDown")
@classmethod
def tearDownClass(cls):
print("tearDownClass")
Wenn Sie diesen Test ausführen, druckt:
setUpClass
setUp
test1
tearDown
.setUp
test2
tearDown
.tearDownClass
(. Die Punkte (.
) sind unittest
‚s Standard-Ausgabe, wenn ein Test bestanden) Beachten Sie, dass setUp
und tearDown
erscheinen vor und nach test1
undtest2
, während setUpClass
und tearDownClass
erscheinen nur einmal am Anfang und am Ende des gesamten Testfalls.
Sollte die Bestellung nicht das sein? : setUpClass setUp test1 tearDown .setup test2 .tearDown tearDownClass –
@JaiSharma das ist, was habe ich schon? –
Beachten Sie das "." vor dem TearDown und der Abwesenheit von "." vor der tearDownClass –