web-dev-qa-db-fra.com

Comment exécuter le test xUnit DLL en ligne de commande sans générer le projet

J'ai un projet en .NET Core et j'ai construit des tests en utilisant xUnit. Maintenant, je voulais exécuter le test dans le processus de déploiement. Ce que j'ai fait jusqu'à présent:

J'ai utilisé cette commande en ligne de commande:

dotnet test [project address]  ... 

cela fonctionne mais le problème est que cette commande obtient le .csproj et non le dll.

J'ai installé et utilisé xunit.runner.console mais cela ne fonctionne pas avec les projets .NET Core.

J'ai utilisé dotnet xunit commande, celle-ci n'a pas non plus aidé alors que je ne peux pas lui donner la dll elle utilise également le dossier du projet.

Que puis-je utiliser pour exécuter mon test intégré (je ne veux pas les reconstruire), tous les outils de ligne de commande que je peux donner à mon test dll en entrée et il exécute le test pour moi.

15
Meysam

Vous avez plusieurs options ici:

1. Utilisez la commande vstest

dotnet vstest Foo.dll

pour exécuter des tests à partir d'un dll. Les tests xUnit sont pris en charge. Documentation .

Un seul fichier dll ne suffit pas. Courir dotnet vstest à partir de votre dossier bin, qui contient généralement:

Foo.dll
Foo.deps.json
Foo.runtimeconfig.json
Foo.runtimeconfig.dev.json
Microsoft.Extensions.Logging.Test.dll
xunit.runner.reporters.netstandard15.dll
xunit.runner.utility.netstandard15.dll
xunit.runner.visualstudio.dotnetcore.testadapter.dll

Cette sortie bin est nécessaire pour exécuter les tests.

2. Ignorer la construction du projet lors du test

dotnet test --no-build
27
Ilya Chumakov