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.
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é.
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"]
}