Heim > Backend-Entwicklung > Python-Tutorial > Wie führt man Unit-Tests in Python mit einer Standardverzeichnisstruktur effektiv aus?

Wie führt man Unit-Tests in Python mit einer Standardverzeichnisstruktur effektiv aus?

Mary-Kate Olsen
Freigeben: 2024-11-26 06:40:11
Original
409 Leute haben es durchsucht

How to Effectively Run Unit Tests in Python with a Standard Directory Structure?

Ausführen von Unit-Tests mit einer typischen Verzeichnisstruktur

Die allgemeine Modulstruktur von Python beinhaltet häufig die Aufteilung von Unit-Tests in ein dediziertes Testverzeichnis, wie unten dargestellt :

new_project/
    antigravity/
        antigravity.py
    test/
        test_antigravity.py
    setup.py
    etc.
Nach dem Login kopieren

Das Ausführen dieser Tests erfordert mehr als nur die einfache Ausführung von python test_antigravity.py Das Testverzeichnis. Da sich die Antigravitation nicht im Importpfad befindet, schlägt dieser Ansatz fehl.

Stattdessen ist die einfachste Möglichkeit, die Tests auszuführen, die Verwendung der Unittest-Befehlszeilenschnittstelle. Dieses Dienstprogramm fügt das Verzeichnis automatisch zu sys.path hinzu und macht Module für den Import zugänglich.

Für eine Verzeichnisstruktur wie:

new_project
├── antigravity.py
└── test_antigravity.py
Nach dem Login kopieren

Führen Sie die Tests wie folgt aus:

$ cd new_project
$ python -m unittest test_antigravity
Nach dem Login kopieren

Für eine Struktur wie Ihre, mit Paketen sowohl im Antigravity- als auch im Testverzeichnis, können Sie Module wie gewohnt in Test in Antigravity importieren Module:

# import the package
import antigravity

# import the antigravity module
from antigravity import antigravity

# or an object inside the antigravity module
from antigravity.antigravity import my_object
Nach dem Login kopieren

Spezifische Tests ausführen:

So führen Sie ein bestimmtes Testmodul aus (z. B. test_antigravity.py):

$ cd new_project
$ python -m unittest test.test_antigravity
Nach dem Login kopieren

Sie können auch einen einzelnen Testfall oder eine einzelne Testmethode ausführen:

$ python -m unittest test.test_antigravity.GravityTestCase
$ python -m unittest test.test_antigravity.GravityTestCase.test_method
Nach dem Login kopieren

Alle ausführen Tests:

Verwenden Sie die Testerkennung, um alle Tests automatisch zu erkennen und auszuführen:

$ cd new_project
$ python -m unittest discover
Nach dem Login kopieren

Dadurch werden alle test*.py-Module im Testpaket ausgeführt. Weitere Informationen finden Sie in der offiziellen Dokumentation zur Entdeckung.

Das obige ist der detaillierte Inhalt vonWie führt man Unit-Tests in Python mit einer Standardverzeichnisstruktur effektiv aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage