web-dev-qa-db-fra.com

Comment exécuter des tests spécifiques à l'aide du test dotnet?

J'ai une grande suite de tests dans un projet .NET Core. Je peux utiliser la fenêtre de l'Explorateur de tests pour sélectionner quelques tests à exécuter.

Je peux également exécuter la suite de tests entier sur la ligne de commande avec dotnet test. Existe-t-il un moyen d'exécuter un seul (ou quelques) tests sur la ligne de commande?

42
Nate Barbettini

Avec la version 1.0.0 de dotnet, vous devez utiliser l'option --filter:

Vous pouvez filtrer par DisplayName, FullyQualifiedName et Traits.

Ex:

dotnet test --filter "FullyQualifiedName=YourNamespace.TestClass1.Test1"

De plus, ces opérateurs sont autorisés: =,! = Et ~ (contient).

Plus d'informations ici: docs

61
andrecarlucci

Cette réponse est dépassée ...

Ceci est spécifique à xunit: dotnet test -method <test name>

<test name> est le nom complet de la méthode (espace de noms + classe + nom de méthode)

Si vos tests sont un Theory, AFAIK, il n'y a aucun moyen de spécifier la théorie à exécuter. Il les exécutera tous.

12
Victor Hurdugaci

Étant donné que cette question est étiquetée avec xUnit, la commande de la commande CLI dotnet xUnit est la suivante:

dotnet xunit -method FullyQualifiedName
9
GeorgDangl