7 votes

Pourquoi les contours des scénarios apparaissent-ils comme "externes" dans l'explorateur de test VS 2012 ?

Je dispose d'un schéma de scénario (aussi appelé modèle de scénario) et je souhaite répertorier mes tests à l'aide de l'explorateur de tests de VS 2012. Le regroupement des tests par défaut se fait par le nom du "Projet" - si je m'y tiens, mes tests issus de canevas de scénario se retrouvent dans le groupe "Externe" et non sous le groupe de mon projet.

Pourquoi cela se produit-il et existe-t-il une solution ou un moyen de contourner ce problème ?

Mon scénario est que j'aimerais exécuter tous mes tests pour un projet donné en utilisant l'explorateur de tests. Définir le même trait pour chacun d'entre eux est stupide et sujet à des erreurs humaines.

Ma solution compte 10 projets de ce type, et d'autres devraient bientôt s'y ajouter. Ainsi, le fait de conserver les tests décrits dans le scénario d'un projet sous "Externe" peut amener quelqu'un à les manquer ou à s'emparer d'un test généré par le scénario qui appartient à un autre projet.

UPDATE

L'utilisateur de GitHub Shashi ( https://github.com/shashiprabhakar ) a enregistré un problème auprès des contributeurs de SpecFlow : https://github.com/techtalk/SpecFlow/issues/275 . Merci beaucoup, mon pote ! J'ai commencé à suivre le problème, donc si une solution est proposée, je la posterai ici en tant que réponse.

6voto

Eden Points 191
<specFlow>
  <unitTestProvider name="..." /> <!-- this you have already -->
  <generator allowDebugGeneratedFiles="true" /> <!-- this is the important setting -->
</specFlow>

C'est la configuration recommandée par Gaspar Nagy dans le fichier App.config. Le "allowDebugGeneratedFiles" semble être le seul ticket. Plus d'informations sur la balise et ses sous-balises peuvent être trouvées sur le site web de la Commission européenne. page officielle des configurations SpecFlow . La mise à VRAI n'est cependant que la première étape.

Comme le suggère Gaspar, l'étape suivante consiste à cliquer avec le bouton droit de la souris sur le fichier de projet dans l'Explorateur de solutions et à sélectionner la fonction Régénérer les fichiers de caractéristiques option.

NB : Ce qui se passe en réalité lorsque vous activez le drapeau allowDebugGeneratedFiles et que vous régénérez ensuite les fichiers .feature, SpecFlow supprime simplement l'option #ligne cachée y #ligne numéro du fichier .feature.cs.

Enfin, je vous suggère personnellement de redémarrer Visual Studio 2012 avant ou après la reconstruction. Lorsque j'ai essayé les étapes ci-dessus, l'explorateur de test a montré les tests correctement seulement après avoir redémarré le Visual Studio.

PS : Gaspar a fait remarquer que si le allowDebugGeneratedFiles est activé (=vrai), alors l'utilisation de l'option "Run SpecFlow Scenarios" ne fonctionnera plus. Cependant, j'ai pu utiliser cette option en faisant un clic droit sur le fichier du projet. L'utilisation de cette option sur un .feature ne fonctionnait pas pour moi même avant d'essayer la suggestion de Gaspar, donc cela doit être l'inconvénient auquel il faisait référence.

PS #2 : Gaspar mentionne également qu'un tel inconvénient ne sera pas supprimé dans SpecFlow 1.9.2.

0voto

Eden Points 191

Comme Gaspar ( https://github.com/gasparnagy ) a suggéré dans un commentaire sur le problème GitHub ( https://github.com/techtalk/SpecFlow/issues/275 ), le fait de cliquer avec le bouton droit de la souris sur le fichier de projet dans l'explorateur de solutions et de sélectionner ensuite "Run SpecFlow Scenarios" constitue une excellente solution de contournement pour le regroupement des projets dans l'explorateur de tests.

Je peux vérifier que la proposition est valide - je l'ai testée avec SpecFlow 1.9.0.

Cependant, il reste le problème de l'explorateur de tests et de son étrange groupe de tests "externes" où sont placés les tests générés par le scénario.

Je mettrai à jour cette réponse ou en publierai une nouvelle si de nouveaux détails sont découverts.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X