2016-12-30 2 views
0

J'ai un grand nombre de cas de test speclow/BDD qui font des appels REST. Ces appels REST fonctionnent bien avec le type de contenu application/json et application/xml.Même scénario Specflow/BDD qui fait que les appels REST fonctionnent d'abord avec l'application/XML puis avec l'application/JSON

Mais je dois modifier manuellement ce type de contenu et réexécuter tous les mêmes scénarios chaque fois que j'ai besoin de tester JSON et XML.

Existe-t-il un moyen d'exécuter tout le scénario deux fois, d'abord avec l'application ContentType/json et la seconde avec application/xml.

Répondre

0

Oui, mais il n'y a rien dans Specflow pour le supporter automatiquement.

Cela dit, vous pouvez facilement réutiliser vos étapes et écrire quelque chose comme

Given I am using JSON 
And X 
When Y 
Then it should Z 

Given I am using XML 
And X 
When Y 
Then it should Z 

Ou encore

@UsingJSON 
Given X 
When Y 
Then it should Z 

@UsingXML 
Given X 
When Y 
Then it should Z 

Ici vous détectez le qui Tag est utilisé dans les étapes, ou même en utilisant Scoped Bindings

0

Il n'y a pas de "cas de test BDD"; seulement des exemples de la façon dont le système se comporte, que nous appelons parfois des «scénarios».

Je suggère, d'abord, avoir quelques conversations autour d'un couple de différents exemples des différents systèmes en cours d'utilisation. Cela vous aidera à voir si le comportement est vraiment identique. La capture de ces exemples aidera également les futurs développeurs à comprendre d'où vient le besoin réel et à définir les attentes quant aux sources susceptibles d'utiliser chaque encodage.

Si vous avez vraiment besoin d'écrire teste, essayez d'encapsuler les parties JSON et XML de votre code dans les tests d'intégration. XML et JSON sont des soucis techniques, et les langages natifs sont vraiment, vraiment difficiles à refactoriser! Donc, probablement, vous voulez utiliser quelque chose comme NUnit à la place. Maintenant, vous avez quelques exemples qui montrent comment votre système se comporte et qui permettent également de s'assurer que les choses sont correctement câblées, et certains tests d'intégration qui vérifient que cela fonctionne à la fois pour XML et JSON. Les tests d'intégration sont là pour un public technique. Si quelqu'un de non-technique veut vraiment vérifier qu'ils fonctionnent, assurez-vous simplement qu'ils sont correctement nommés et donnez-leur l'URL de votre build. La plupart des gens d'affaires peuvent lire camel-case. Si vous devez absolument exécuter tous les scénarios en utilisant JSON et XML, vous pouvez créer un arbre de scénarios "JSON" et un arbre de scénarios "XML", utiliser des liens symboliques ou un script de construction qui copie les fichiers pour s'assurer qu'ils s'exécutent à partir de la même source en anglais/langue maternelle, fournissez ensuite différentes définitions d'étapes qui s'exécutent respectivement avec XML ou JSON. Cependant, je suppose que vous aurez plus de facilité avec ma première série de suggestions.