Wie man setUp nur einmal in Python unittest ausführt

Bestätigte Umgebung

Überblick

Wenn unittest mehrere Tests durchführt, wird setUp bei jedem Aufruf des Tests ausgeführt. Wenn der setUp-Prozess jedoch sehr umfangreich ist, dauert die Ausführung zu lange, da er mehrmals aufgerufen wird.

Wenn Sie setUp also nur einmal aufrufen möchten, wie sollten Sie es schreiben? Es wird gelöst, indem setUpClass definiert wird, anstatt setUp zu verwenden.

Der folgende Code ist als spezifisches Beispiel angegeben.

test_setup.py


import unittest

class HogeTest(unittest.TestCase):

    def setUp(self):
        print('Called `setUp`.')

    @classmethod
    def setUpClass(self):
        print('Called `setUpClass`.')

    def test_called1(self):
        self.assertTrue(True)

    def test_called2(self):
        self.assertTrue(True)

    def test_called3(self):
        self.assertTrue(True)

Dieser Code verfügt über eine Methode, die ausgeführt wird, wenn "setUp" und "setUpClass" initialisiert werden. Dies sind die Methoden, die jeweils von unittest bereitgestellt werden. Außerdem ist die hier beschriebene Methode so definiert, dass bei jeder Ausführung eine Zeichenfolge ausgegeben wird. Außerdem sind drei Tests definiert.

Lassen Sie uns nun sehen, ob sich die Ausgabezeichenfolge wie von diesem Code erwartet verhält. Erwarten Sie, dass die Zeichenfolge in "setUp" mehrmals ausgegeben wird und dass die Zeichenfolge in "setUpClass" einmal ausgegeben wird.

Hier ist das Ergebnis der tatsächlichen Ausführung.

$ python3 -m unittest test_setup.py
Called `setUpClass`.
Called `setUp`.
.Called `setUp`.
.Called `setUp`.
.
----------------------------------------------------------------------
Ran 3 tests in 0.001s

OK

Es wurde bestätigt, dass es wie erwartet funktionierte.

Referenz

Qiita: Python-Unit-Test-Vorlage stackoverflow: Run setUp only once

Recommended Posts

Wie man setUp nur einmal in Python unittest ausführt
So führen Sie Tests zusammen mit Python unittest aus
So führen Sie LeapMotion mit Nicht-Apple Python aus
So führen Sie Notepad ++ Python aus
Wie man in Python entwickelt
So führen Sie Python im virtuellen Raum aus (für MacOS)
Lesen von CSVs, die in Python nur Ganzzahlen enthalten
[Python] Wie man PCA mit Python macht
So sammeln Sie Bilder in Python
Verwendung von SQLite in Python
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
So führen Sie TensorFlow 1.0-Code in 2.0 aus
Umgang mit Japanisch mit Python
So testen Sie, ob die Ausnahme in Python unittest ausgelöst wird
[Einführung in Python] Wie verwende ich eine Klasse in Python?
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
Unittest in Python
[Itertools.permutations] So löschen Sie eine Sequenz in Python
So arbeiten Sie mit BigQuery in Python
So zeigen Sie die neunundneunzig Tabelle in Python an
So extrahieren Sie einen Polygonbereich in Python
So überprüfen Sie die Version von opencv mit Python
[Python2.7] Zusammenfassung der Verwendung von unittest
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So füllen Sie mit Python dynamisch Nullen aus
Verwendung regulärer Ausdrücke in Python
So zeigen Sie Hello World in Python an
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
So führen Sie Maya Python-Skripte aus
Verwendung der C-Bibliothek in Python
So empfangen Sie Befehlszeilenargumente in Python
[REAPER] Wie man Reascript mit Python spielt
So löschen Sie einen Taple in einer Liste (Python)
So generieren Sie eine Sequenz in Python und C ++
Einbetten von Variablen in Python-Strings
Zusammenfassung zum Importieren von Dateien in Python 3
So vereinfachen Sie die eingeschränkte Polypoly-Anpassung in Python
Verwendung der Python-Bildbibliothek in der Python3-Serie
So implementieren Sie Shared Memory in Python (mmap.mmap)
So erstellen Sie eine JSON-Datei in Python
So führen Sie CNN in 1 Systemnotation mit Tensorflow 2 aus
So führen Sie MeCab unter Ubuntu 18.04 LTS Python aus
Zusammenfassung der Verwendung von MNIST mit Python
So benachrichtigen Sie Discord-Kanäle in Python
So erhalten Sie die Dateien im Ordner [Python]
Wie man tkinter mit Python in Pyenv benutzt
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
So geben Sie "Ketsumaimo" standardmäßig in Python aus
Wie man mit dem Datum / Uhrzeit-Typ in Pythons SQLite3 umgeht