web-dev-qa-db-fra.com

Python Unittest: aucun test découvert dans le code Visual Studio

J'essaie de faire fonctionner feature des tests unitaires Visual Studio Code auto-exécutables . J'ai récemment apporté une modification à la structure des répertoires de mon projet Python qui ressemblait auparavant à ceci:

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

Et ma configuration pour unittest était comme ceci:

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

Après les modifications, la structure du projet était la suivante:

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\

Après cela, l'extension ne découvre plus mes tests. J'ai essayé de changer le paramètre '-s' en "./app/tests", ".tests", "./tests", "app/tests", "/app/tests", "app.tests", sans succès.

enter image description here

3
Matheus Saraiva

Le problème était que j'utilisais les importations relatives dans le module de test (from ..utils import guards). Je viens de le changer en importation absolue (from app.utils import guards) et tout a encore fonctionné.

2
Matheus Saraiva

Activez votre virtualenv,

Allez dans votre répertoire myproject et lancez:

python -m unittest app/tests/

Cela exécutera les tests dans app/tests/.

Suivez la documentation pour plus d’informations.

MODIFIER:

Vous devez définir le paramètre cwd à la racine de votre projet (répertoire myproject) et modifier le unittestArgs pour rechercher des tests dans app/tests.

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