Führen Sie unittest in Python aus (für Anfänger)

Einführung

Als ich Python zum ersten Mal verwendete, hatte ich Schwierigkeiten, bevor ich unittest verwendete. Dies ist also ein Artikel für eine reibungslose Verwendung. Darüber hinaus ist es schwierig, es zu verwenden, wenn Sie nicht die Grundlagen von Python verstehen. Deshalb habe ich es zusammengefasst.

Die Verzeichnisstruktur, die erfolgreich ausgeführt werden kann, lautet wie folgt.

.
├─sample.py
└─tests
  ├─__init__.py
  └─test_sample.py

Beispielquelle

sample.py


def add(x, y):
    return x + y

test_sample.py


import unittest
import sample

class TestSample(unittest.TestCase):
    def test_add(self):
        self.assertEqual(sample.add(1, 2), 3)

if __name__ == "__main__":
    unittest.main()

So führen Sie den Test aus

python -m unittest tests.test_sample Und mit unittest Skript ausführen

Was ich gelernt habe

Ich kann den Test mit der obigen Methode gut ausführen, habe aber die folgenden Punkte gelernt.

__init__.Was ist py? Ich dachte, aber das Verzeichnis, in dem sich diese Datei befindet, scheint als Python-Paket behandelt zu werden. Deshalb probieren.Mit dem Befehl execute aus dem Verzeichnis, in dem sich py befindet, "testet.test_"Tests" von "Probe".Es scheint, dass Sie das Paket angeben und ausführen können.



 * In Python 2.7 ist dies erforderlich, da es nicht als Paket ohne `` `__init __. Py``` erkannt wird. Es ist jedoch nicht erforderlich, da es als Paket erkannt wird, auch wenn es nicht Python 3.5 ist.

 Außerdem importiere ich mit test_sample.py und es gibt verschiedene Importsuchpfade, aber der Ausführungspfad ist einer davon. Es scheint, dass Sie mit "Beispiel importieren" importieren können, indem Sie es aus dem Verzeichnis ausführen, in dem sich sample.py befindet.

## Experiment
 Wir führen die folgenden Experimente durch, um zu realisieren, was wir gelernt haben.

python tests\test_sample.py
 Versuchen Sie es mit.

``` error
Traceback (most recent call last):
  File "tests\test_sample.py", line 2, in <module>
    import sample
ImportError: No module named sample

Fehler, dass das Beispielmodul nicht gefunden wurde. Der Ausführungspfad scheint in der Testrichtung zu liegen, und es scheint, dass das Beispiel in der nächsthöheren Hierarchie nicht gefunden werden kann.

Fügen Sie test_sample.py jedoch in dieselbe Hierarchie wie das Verzeichnis sample.py ein. python test_sample.py Funktioniert richtig. python -m unittest test_sample Auch hier funktioniert es richtig.

Stellen Sie die Verzeichnisstruktur wieder her und löschen Sie dann die Datei `` `__init __. Py``` python -m unittest tests.test_sample Wenn du rennst ImportError: No module named tests Error. Es scheint nicht als Paket erkannt zu werden.

Zum Schluss gehen Sie zum Testverzeichnis und python test_sample.py Wenn du rennst ImportError: No module named sample Error. python -m unittest test_sample Aber der gleiche Fehler. Mit anderen Worten, es kann nicht importiert werden, da sich kein Beispiel im Ausführungsverzeichnis befindet.

Impressionen

Ich habe gerade versucht, unittest mit Python zu verwenden, aber ich habe viel darüber gelernt, wie man Pakete angibt und wie man über Verzeichnisse nachdenkt, die importiert werden können. Ich habe viel gelernt, weil ich es nicht einfach machen konnte. Ich bin der Meinung, dass die zukünftige Python-Programmierung reibungslos verlaufen kann.

Ich möchte es zusammen lesen

So führen Sie Tests gemeinsam mit dem Python-Komponententest aus

Recommended Posts

Führen Sie unittest in Python aus (für Anfänger)
Führen Sie Python unittest parallel aus
Python Lehrbuch für Anfänger
OpenCV für Python-Anfänger
[Einführung für Anfänger] Umgang mit MySQL mit Python
Grundlegende Geschichte der Vererbung in Python (für Anfänger)
Lernablauf für Python-Anfänger
Führen Sie automatisierte Jobs in Python aus
Führen Sie Shell-Befehle in Python aus
Techniken zum Sortieren in Python
Python #Funktion 2 für Super-Anfänger
Grundlegende Python-Grammatik für Anfänger
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
~ Tipps für Python-Anfänger mit Liebe von Pythonista ③ ~
Über "für _ in range ():" von Python
Janken Poi in Python für Anfänger (Antworten und Erklärungen)
So führen Sie Python im virtuellen Raum aus (für MacOS)
[Für Anfänger] Lernen Sie in 5 Stunden kostenlos die grundlegende Python-Grammatik!
Überprüfen Sie Python auf Speicherlecks
Suchen Sie mit Python nach externen Befehlen
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Lassen Sie uns "Python -m Antigravitation" in Python ausführen
Führen Sie den Shell-Befehl / Python in R aus
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
Python #index für Super-Anfänger, Slices
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Python #len Funktion für Super-Anfänger
Web Scraping für Anfänger in Python (1)
Führen Sie einen einfachen Algorithmus in Python aus
Web Scraping für Anfänger in Python (4) -1
Python #Hello World für Super-Anfänger
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
INSERT in MySQL mit Python [Für Anfänger]
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Anmerkung von nfc.ContactlessFrontend () von nfcpy von Python
Inject wird für DDD in Python empfohlen
Tipps zum Umgang mit Binärdateien in Python
Zusammenfassung verschiedener for-Anweisungen in Python
Geben Sie Anmerkungen für Python2 in Stub-Dateien ein!
Führen Sie AzureKinect an Heiligabend in Python aus.
Führen Sie den Python-Interpreter im Skript aus
Vorlage zum Schreiben von Batch-Skripten in Python
Verarbeiten Sie mehrere Listen mit for in Python
MongoDB mit Python zum ersten Mal
Holen Sie sich ein Zeichen für Conoha mit Python
Beispiel für den Umgang mit EML-Dateien in Python
AtCoder Spickzettel in Python (für mich)
[Python] Bilder mit OpenCV lesen (für Anfänger)
Ich habe mit Python nach einer Primzahl gesucht
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
WebApi-Erstellung mit Python (CRUD-Erstellung) Für Anfänger
Tipps zum Erstellen kleiner Werkzeuge mit Python
Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten
Stellen Sie sicher, dass in Python regelmäßig Cron-ähnliche Jobs ausgeführt werden
Atcoder-Standardeingabesatz für Anfänger (Python)
Führen Sie Python in C ++ unter Visual Studio 2017 aus
[Für Anfänger] Versuchen Sie Web Scraping mit Python