[Python2.7] Zusammenfassung der Verwendung von unittest

Handbuch

25.3. Unittest - Unit Test Framework - Python 2.7.x Dokumentation

Vorlage

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.

Methode bestätigen

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-

Führt eine bestimmte Verarbeitung bei der Initialisierung / Beendigung aus

Bei Initialisierung / Beendigung des gesamten Tests

Wird ausgeführt, wenn der gesamte Test initialisiert wird


def setUpModule():
    pass

Führen Sie am Ende des gesamten Tests aus


def tearDownModule():
    pass

TestCase-Initialisierung / Beenden

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

Testvorrichtung (jeder Test in TastCase) Bei Initialisierung / Ende

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

Ausführungsreihenfolge

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!

Testergebnisse erhalten

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

Holen Sie sich die Ausführungszeit jedes Tests als Variable

python - How to know time spent on each test when using unittest? - Stack Overflow

Referenz

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

[Python2.7] Zusammenfassung der Verwendung von unittest
[Python] Zusammenfassung der Verwendung von Pandas
Zusammenfassung der Verwendung der Python-Liste
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Zusammenfassung der Verwendung von MNIST mit Python
Zusammenfassung der Verwendung von pandas.DataFrame.loc
Zusammenfassung der Verwendung von pyenv-virtualenv
Zusammenfassung der Verwendung von csvkit
[Frage] Wie verwende ich plot_surface von Python?
[Python] Zusammenfassung der Verwendung von Split- und Join-Funktionen
[Python] Verwendung von zwei Arten von type ()
python3: Verwendung der Flasche (2)
Zusammenfassung zum Importieren von Dateien in Python 3
[Python] Verwendung von Liste 1
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
Zusammenfassung des Studiums von Python zur Verwendung von AWS Lambda
[Python] Verwendung von input ()
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
Ich habe versucht zusammenzufassen, wie man Matplotlib von Python verwendet
Verwendung von Python Kivy ~ ~ Grundlagen der Kv-Sprache ~
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Python: So verwenden Sie Async mit
[Python] Verwendung der Pandas-Serie
Verwendung von Anfragen (Python Library)
Verwendung von SQLite in Python
[Python] Verwendung von Liste 3 Hinzugefügt
Wie man MySQL mit Python benutzt
Verwendung der Python-API von OpenPose
Verwendung von ChemSpider in Python
Python: Verwendung von pydub (Wiedergabe)
Verwendung von PubChem mit Python
Verwendung der Zip-Funktion von Python
[Python] Verwendung der Typetalk-API
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
[Einführung in Python] Wie verwende ich eine Klasse in Python?
scikit-learn Verwendung der Zusammenfassung (maschinelles Lernen)
So installieren und verwenden Sie pandas_datareader [Python]
[Python] Verwendung von __command__, Funktionserklärung
Berechnen Verwenden Sie% des Befehls df
[Python] Verwendung von import sys sys.argv
[Python] Organisieren der Verwendung für Anweisungen
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von __slots__ in der Python-Klasse
Jupyter Notebook Grundlagen der Verwendung
Verwendung von "deque" für Python-Daten
Grundlagen von PyTorch (1) - Verwendung von Tensor-
Verwendung von Python zip und Aufzählung
[Python] Verstehen, wie rekursive Funktionen verwendet werden
Verwendung regulärer Ausdrücke in Python
Verwendung ist und == in Python
Zusammenfassung des Schreibens von AWS Lambda
Verwendung von Python Kivy (Referenz) -Ich habe die Kivy-Sprache der API-Referenz übersetzt-