25.3. Unittest - Unit Test Framework - Python 2.7.x Dokumentation
Einige Leute haben bereits eine Vorlage erstellt, daher sollten Sie sich auf Folgendes beziehen. Python Unit Test Template-Qiita
Das Folgende ist ein Beispiel für einen Mindestkonfigurationstest.
Beispiel für einen minimalen Konfigurationstest
import unittest
class UnitTest(unittest.TestCase):
def test1(self):
self.assertEqual(1, 1)
if __name__ == '__main__':
unittest.main()
Ausführungsbeispiel
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
※wichtiger Punkt
Der auszuführende Test muss mit test
im Methodennamen beginnen.
Method | Bewertungsinhalte |
---|---|
assertEqual(a, b) | a == b |
assertNotEqual(a, b) | a != b |
assertTrue(x) | bool(x) is True |
assertFalse(x) | bool(x) is False |
assertIs(a, b) | a is b |
assertIsNot(a, b) | a is not b |
assertIsNone(x) | x is None |
assertIsNotNone(x) | x is not None |
assertIn(a, b) | a in b |
assertNotIn(a, b) | a not in b |
assertIsInstance(a, b) | isinstance(a, b) |
assertNotIsInstance(a, b) | not isinstance(a, b) |
Weitere Informationen finden Sie im Folgenden. Es gibt viele andere. 25.3. Unittest - Unit Test Framework - Python 2.7.x Dokumentation-
Wird ausgeführt, wenn der gesamte Test initialisiert wird
def setUpModule():
pass
Führen Sie am Ende des gesamten Tests aus
def tearDownModule():
pass
Bei Testfallinitialisierung ausführen
class HogeTest(unittest.TestCase):
#...
@classmethod
def setUpClass(cls):
pass
Am Ende von TestCase ausführen
class HogeTest(unittest.TestCase):
#...
@classmethod
def tearDownClass(cls):
pass
Bei Testfallinitialisierung ausführen
class HogeTest(unittest.TestCase):
#...
def setUp(self):
pass
Am Ende von TestCase ausführen
class HogeTest(unittest.TestCase):
#...
def tearDown(self):
pass
Hier ist das Protokoll, wenn der folgende Test ausgeführt wird.
Muster zur Bestätigung des Ausführungsauftrags für jede Funktion (Auszug)
def setUpModule():
print '## setUpModule!'
def tearDownModule():
print '## tearDownModule!'
print unittest.TestResult
class HogeTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
print '## setUpClass!'
pass
@classmethod
def tearDownClass(cls):
print '## tearDownClass!'
def setUp(self):
print '## setUp!'
def tearDown(self):
print '## tearDown!'
def test1(self):
expected = 1
actual = 1
self.assertEqual(expected, actual)
Ausführungsergebnis
.....
----------------------------------------------------------------------
Ran 1 tests in 0.000s
OK
## setUpModule!
## setUpClass!
## setUp!
## tearDown!
## tearDownClass!
## tearDownModule!
Sie können es mit der TestResult-Klasse erhalten. Implementieren Sie in der häufig verwendeten Datei "unittest.main ()" Folgendes.
unittest.main()Beim Einsteigen
def main()
#Standardmäßig sys.exit()Wird gerufen, also verlassen=Geben Sie False an
test_program = unittest.main(exit=False)
test_result = test_program.result
Im Folgenden finden Sie Informationen zu den Inhalten, die Sie mit "TestResult" erhalten können.
25.3. Unittest - Unit Test Framework - Python 2.7.x Dokumentation
python - How to know time spent on each test when using unittest? - Stack Overflow
Python Unit Test Template-Qiita Bibliothek: unittest - Leben mit Python python - Unittest causing sys.exit() - Stack Overflow Wenn Sie einen Test mit Python unittest schreiben, verwenden Sie doCleanups für setUp, das möglicherweise fehlschlägt - Qiita
Recommended Posts