Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Unit-Tests effektiv aus einem Standardverzeichnis „test' in Python ausführen?

Wie kann ich Unit-Tests effektiv aus einem Standardverzeichnis „test' in Python ausführen?

Susan Sarandon
Freigeben: 2024-12-04 03:08:10
Original
429 Leute haben es durchsucht

How Can I Effectively Run Unit Tests from a Standard

Ausführen von Unit-Tests mit einer Standard-Testverzeichnisstruktur

Viele Python-Projekte übernehmen eine typische Verzeichnisstruktur, in der Unit-Tests in einem separaten Verzeichnis aufbewahrt werden. test“-Verzeichnis. Dies wirft die Frage auf: Wie führt man diese Tests effektiv durch?

Das Problem und das Problem

Das direkte Ausführen von test_antigravity.py aus dem Verzeichnis „test“ schlägt fehl, weil die Das Antigravitationsmodul befindet sich nicht im Systempfad. Das Ändern von PYTHONPATH und ähnlichen pfadbezogenen Tricks ist möglicherweise keine optimale Lösung. Das Kopieren und Einfügen der Testdatei in ein anderes Verzeichnis scheint ineffizient zu sein.

Die Lösung: Verwendung der Unittest-Befehlszeilenschnittstelle

Der am meisten empfohlene Ansatz ist die Verwendung des Unittest-Befehls Leitungsschnittstelle. Es fügt automatisch das aktuelle Verzeichnis zum sys.path hinzu und ermöglicht so einen nahtlosen Import des zu testenden Moduls.

Für eine Struktur wie:

new_project
  └── test_antigravity.py
Nach dem Login kopieren

Einfach ausführen:

$ python -m unittest test_antigravity
Nach dem Login kopieren

Für eine Struktur Wie:

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

Sie können ein einzelnes Testmodul ausführen:

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

Einen einzelnen Test ausführen:

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

Eine einzelne Testmethode ausführen :

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

Alle Tests durchführen:

$ python -m unittest discover
$ # Also works without discover for Python 3
$ # as suggested by Burrito in the comments
$ python -m unittest
Nach dem Login kopieren

Dieser Ansatz ist praktisch für Benutzer können Unit-Tests ausführen, indem sie einfach der Anweisung folgen: „Um die Unit-Tests auszuführen, führen Sie X aus.“

Das obige ist der detaillierte Inhalt vonWie kann ich Unit-Tests effektiv aus einem Standardverzeichnis „test' in Python ausführen?. 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