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
Mary-Kate OlsenOriginal
2024-11-26 06:40:11367Durchsuche

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.

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

Führen Sie die Tests wie folgt aus:

$ cd new_project
$ python -m unittest test_antigravity

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

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

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

Alle ausführen Tests:

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

$ cd new_project
$ python -m unittest discover

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!

Stellungnahme:
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