web-dev-qa-db-fra.com

test dotnet ne créant pas de dossier de résultats de test

Dans le cadre de notre processus de construction ASP.NET Core 2.0 , j'ai ajouté une commande test dotnet que j'ai ajoutée en tant que un fichier de commandes Windows.

Voici ma commande.

dotnet test "MyProject.csproj" --no-restore --results-directory "MyProject\TestResults" --verbosity minimal

Et voici la sortie lorsqu'elle est exécutée à partir de la ligne de commande.

enter image description here

Donc, tout semble fonctionner correctement, mais aucun résultat de test/sortie de test n'est créé.

10
DomBurf

Pour sortir les résultats du test du test dotnet, vous pouvez essayer de passer -xml /some/path/out.xml ou utilisez le paramètre work, comme ceci: dotnet test --work:"mypath/myresult.xml". Voir les discussions ci-dessous pour plus de détails:


En outre, vous devez généralement spécifier l'argument -l|--logger <LoggerUri/FriendlyName> qui spécifie un enregistreur pour les résultats des tests.

par exemple.:

dotnet test "myproject.csproj" --logger "trx;LogFileName=path\to\tests\folder\results.trx" ou dotnet test "myproject.csproj" -l:"trx;LogFileName=path\to\tests\folder\results.trx"

Pour rendre les fichiers trx générés disponibles en tant que résultats de test dans VSTS/TFS, vous pouvez utiliser la tâche "Publier les résultats de test":

enter image description here

12
Andy Li-MSFT

Pour afficher les résultats du test à l'aide de dotnet test option --results-directory vous devez également définir --logger.

Le -xml et --work les options ne fonctionnent plus car elles ne font pas partie des options fournies par la CLI de test. Je me souviens avoir utilisé -xml dans le passé et ça a marché mais ça ne marche plus.

Vous pouvez voir toutes les options pour CLI .NET Core 2.x ici

Pour publier les résultats des tests dans un dossier spécifique, vous devez utiliser la commande ci-dessous:

dotnet test --logger "trx;logfilename=mytests.trx" --results-directory ./somefolder/subfolder

Ou

dotnet test --logger "trx;LogFileName=./somefolder/subfolder/mytests.trx"

Le fichier trx est un fichier XML, vous pouvez donc le nommer mytests.xml au lieu de mytests.trx.

Si vous utilisez VSTS, vous pouvez publier vos tests à afficher dans votre page de génération à l'aide de la commande ci-dessus dans la tâche ".NET Core" pour le test et la tâche "Publier le résultat du test".

La tâche '.NET Core' explique où il publie les résultats, comme illustré ci-dessous:

enter image description here

Une fois tout fait, votre page de construction ressemblerait à ceci:

enter image description here

22
Alex.H