webentwicklung-frage-antwort-db.com.de

Python Unittest: In Visual Studio Code wurden keine Tests gefunden

Ich versuche, das selbstlaufende feature von Visual Studio Code Unit-Tests zum Laufen zu bringen. Ich habe kürzlich eine Änderung in der Verzeichnisstruktur meines Python-Projekts vorgenommen, die zuvor so aussah:

myproje\
    domain\
        __init__.py
    repositories\
    tests\
        __init__.py
        guardstest.py
    utils\
        __init__.py
        guards.py
    web\

Und mein Setup für einsamste war so:

    "python.unitTest.unittestArgs": [
    "-v",
    "-s",
    "tests",
    "-p",
    "*test*.py"
]

Nach den Änderungen war die Struktur des Projekts wie folgt:

myprojet\
    app\
        controllers\
            __init__.py
        models\
            __init__.py
            entities.py
            enums.py
        tests\
            res\
                image1.png
                image2.png
            __init__.py
            guardstest.py
        utils\
            __init__.py
            guards.py
        views\
            static\
            templnates\
        __init__.py         
    uml\

Danach erkennt die Erweiterung meine Tests nicht mehr. Ich habe versucht, den '-s'-Parameter in "./app/tests", ".tests", "./tests", "app/tests", "/app/tests", "app.tests", erfolglos zu ändern.

 enter image description here

3
Matheus Saraiva

Das Problem war, dass ich relative Importe im Testmodul (from ..utils import guards) verwendete. Ich habe es gerade in absoluten Import geändert (from app.utils import guards) und alles hat wieder funktioniert.

2
Matheus Saraiva

Aktivieren Sie Ihre Virtualenv,

Gehen Sie in Ihr myproject Verzeichnis und führen Sie Folgendes aus:

python -m unittest app/tests/

Dadurch werden die Tests in app/tests/ ausgeführt.

Befolgen Sie die Dokumentation für weitere Informationen.

EDIT:

Sie müssen den Parameter cwd auf den Stamm Ihres Projekts (myproject-Verzeichnis) setzen und unittestArgs ändern, um Tests in app/tests zu suchen.

{
 "python.unitTest.cwd": "path/to/myproject",
 "python.unitTest.unittestArgs": [
    "-v",
    "-s", "app/tests",
    "-p", "*test*.py"]
}
0
Laurent LAPORTE