Comment exécuter tous les tests en code Visual Studio
la dernière version de VS Code fournit déjà un moyen facile d'exécuter un test simple comme indiqué sur Tyler Long's answer à la question déboguer les tests xunit dans .NET Core et Visual Studio Code .
Cependant, je suis à la recherche comment puis-je exécuter tous les tests contenue dans une suite de test de la classe dans VS Code (sans debug)?
le seul moyen que j'ai trouvé était d'ajouter à launch.json
un configuration spécifique comme la suivante, mais que je ne peux exécuter qu'en debug (je voudrais l'exécuter sans debug):
{
"name": ".NET Core Xunit tests",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "/usr/local/share/dotnet/dotnet",
"args": ["test"],
"cwd": "${workspaceRoot}/test/MyProject.Tests",
"externalConsole": false,
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart"
}
4 réponses
il y a une façon beaucoup plus facile d'exécuter tous les essais:
- Installer .NET de Base de l'Explorateur de tests extension
- ouvrir un projet D'essai de noyau .NET dans le code VS, ou mettre
dotnet-test-explorer.testProjectPath
sur le chemin de chemise du projet D'essai de noyau .NET danssettings.json
- dans .net Test Explorer de la vue Explorateur, tous les tests seront automatiquement détectés, et vous êtes en mesure d'exécuter tous les tests ou un certain test
vous pouvez exécuter tous les tests dans un projet en exécutant dotnet test
sur le terminal. C'est pratique si vous avez déjà le terminal ouvert, mais vous pouvez l'ajouter dans le code de Visual Studio.
si vous appuyez sur Cmd - Shift - P pour ouvrir la Palette de commandes et taper" test", vous pouvez exécuter la commande Run Test Task . Par défaut, cela ne fait rien, mais vous pouvez modifier tasks.json
dire comment exécuter dotnet test
pour vous:
tâches.json
{
"version": "0.1.0",
"command": "dotnet",
"isShellCommand": true,
"args": [],
"tasks": [
{
"taskName": "build",
"args": [ ],
"isBuildCommand": true,
"showOutput": "silent",
"problemMatcher": "$msCompile"
},
{
"taskName": "test",
"args": [ ],
"isTestCommand": true,
"showOutput": "always",
"problemMatcher": "$msCompile"
}
]
}
ces deux définitions de tâche relieront les commandes Run Build Task et Run Test Task dans Visual Studio Code à dotnet build
et dotnet test
, respectivement.
pour construire sur la réponse de GraehamF, la configuration requise dans tasks.json
pour dotnet 2.0 est différente.
{
"version": "2.0.0",
"tasks": [
{
...
},
{
"label": "test",
"command": "dotnet",
"type": "shell",
"group": "test",
"args": [
"test",
"${workspaceFolder}/testprojectfolder/testprojectname.csproj"
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
j'ai constaté que lorsque Visual Studio et VS Code sont tous deux installés, la mise de la référence csproj dans la propriété command (comme dans la réponse de GraehamF) a eu pour résultat L'ouverture de Visual Studio au lieu que les tests soient exécutés dans VS Code.
(j'aurais mis cela dans un commentaire, mais je n'ai pas assez de points de réputation.)
semblable à la réponse de @Nate Barbettini, mais pour le standard .Net Core 2.0 (netcoreapp2.0).
{
"version": "2.0.0",
"tasks": [
{
"label": "test",
"command": "dotnet test path/to/test-project.csproj",
"type": "shell",
"group": "test",
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$msCompile"
}
]
}