Comment voulez-vous exécuter SpecFlow scénarios à partir de la ligne de commande à l'aide de MSTest?
J'ai Visual Studio 2010, et nous avons deux VS solutions, nous travaillons avec. La première est l'application web, et la deuxième est strictement pour SpecFlow tests. Avoir deux instances de Visual Studio en cours d'exécution au même moment, juste pour lancer SpecFlow caractéristiques est de manger toute la RAM disponible en causant de choses à ralentir.
J'ai fait quelques recherches sur Google et ici sur StackOverflow, plus lu de la MS de la documentation sur le MSTest outil de ligne de commande, mais je n'ai pas trouvé la réponse. La pleine SpecFlow suite de test prend environ 45 minutes pour le remplir, et je n'ai vraiment besoin de quelques scénarios.
Je me demandais si il existe un moyen d'exécuter des SpecFlow fonctionnalités, et même des scénarios, à partir de la ligne de commande à l'aide de MSTest?
OriginalL'auteur Greg Burghardt | 2013-12-16
Vous devez vous connecter pour publier un commentaire.
Derrière la scène specflow tests sont simples mstest des tests unitaires. Donc, vous devriez être en mesure de les exécuter de la même manière, en utilisant quelque chose comme:
Pour exécuter un scénario spécifique:
Pour exécuter un scénario spécifique, vous pouvez utiliser le test de drapeau à plusieurs reprises:
Pour exécuter une fonction
Si vous ajoutez des tags sur vos scénarios à l'aide de @Montag par exemple, vous pouvez également utiliser l'option
Veuillez jeter un oeil au code généré par le derrière de vos fichiers de fonctionnalité pour obtenir une idée de comment les choses fonctionnent, si vous êtes familliar avec mstest, il devrait être assez simple.
mstest
utilitaire de ligne de commande attend de toutes les bibliothèques de classes d'exister dans le répertoire de travail courant. J'ai installé leSpecBind
package NuGet, qui me donne les DLL manquantes de fichier (SpecBind.CodedUI.dll) mais il n'est pas copié sur mon répertoire de construction. Je vais devoir faire un peu de creuser dans ce, sauf si vous avez des suggestions (je suis utilise CodedUI tests pour ce projet).Je suis ce marquage comme la réponse, parce que je suis un coup ma tête contre une autre question, probablement en raison de la configuration de mon solution Visual Studio. Merci!
Utilisation Vstest.console.exe au lieu de mstest. Vstest.console.exe charge automatiquement tous vos packages nuget ainsi que d'autres bibliothèques. E. g Vstest.console.exe mytests.dll
OriginalL'auteur foobarcode
Il y a un package nuget nommé "Specrun.Specflow" télécharger. Et il va changer votre application.config et définir unitTestProvider name="SpecRun", de sorte que vous pouvez supprimer unitTestProvider name="MSTest" ou "NUnit", maintenant, sur les économies d'Application.les modifications de configuration, visual studio vous invite à régénérer vos fichiers de fonctionnalité, cliquez sur Oui et maintenant construire une solution, Ce que vous allez voir, c'est votre fichiers de test ont été régénérés.
Maintenant, dans votre Invite de Commande aller à C:\Users\\Documents\Visual Studio 2015\Projets\ et le type runtests.cmd , il doit déclencher tous vos fichiers directement.
OriginalL'auteur UNG
J'ai essayé les balises de la technique, mais il n'a pas de travail, je suis en utilisant une ancienne version de SpecFlow.
Donc, je suis allé à la .fonctionnalité.cs fichier lié à une fonctionnalité de fichier et recherche des TestMethodAttribute()
J'ai ajouté le TestCategory attribut sur le dessus de cela, tout comme le suivant:
Construire et de les compiler et de la commande a fonctionné comme un charme avec
J'espère que quelqu'un va trouver la réponse utile.
Il est possible de créer une classe partielle séparément et ajouter des attributs au lieu de vous embêter avec auto-gen fichiers.
OriginalL'auteur Naeem A. Malik