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
Susan SarandonOriginal
2024-12-04 03:08:10423Durchsuche

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

Einfach ausführen:

$ python -m unittest test_antigravity

Für eine Struktur Wie:

new_project
  ├── antigravity
  │   └── antigravity.py
  └── test
    ├── test_antigravity.py

Sie können ein einzelnes Testmodul ausführen:

$ python -m unittest test.test_antigravity

Einen einzelnen Test ausführen:

$ python -m unittest test.test_antigravity.GravityTestCase

Eine einzelne Testmethode ausführen :

$ python -m unittest test.test_antigravity.GravityTestCase.test_method

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

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!

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