Question

Je suis en train de décider si je dois utiliser Cuke4Nuke ou SpecFlow. Quels sont les pro / inconvénients de chacun? Les opinions sur ce qui est mieux et pourquoi.

Merci!

Était-ce utile?

La solution

(je pourrais être biaisé parce que je suis impliqué avec SpecFlow, mais voici mes pensées ...)

Cuke4Nuke est très proche de concombre. Cela promet beaucoup d'avantages:

  • Compatibilité
  • Obtenir de nouvelles fonctionnalités de concombre quand cucurbitacées (évolue au moins en théorie, mais le soutien des langues est un exemple pour cela)
  • Être une partie réelle de la communauté de concombre et de l'écosystème de concombre

Mais cela vient aussi avec quelques inconvénients potentiels:

SpecFlow est un projet distinct de concombre. Il essaie d'être aussi près de concombre que possible, mais il y a et des lacunes. Il est prévu d'utiliser le même analyseur que le concombre, pour améliorer la compatibilité au niveau de la langue.

SpecFlow tente d'offrir les avantages suivants:

  • Une solution pure .NET (aucune installation de Ruby est nécessaire et Ruby ne participe pas à l'exécution)
  • Il y a une intégration de base avec VisualStudio (et il est prévu de faire évoluer ce)
  • Les scénarios sont essentiellement UnitTests et peuvent être exécutés avec votre infrastructure existante (NUnit.Runners, ReSharper, VisualStudio MSTest intégration ...)
  • Les scénarios et les étapes sont débogable facilement de VisualStudio (juste mettre un point d'arrêt)
  • Intégration dans votre build continue devrait être un jeu d'enfant, puisque l'infrastructure pour exécuter des tests unitaires est certainement déjà là

Comme les inconvénients de SpecFlow je vois actuellement:

  • Il ne supporte pas autant de langues que Concombre
  • Actuellement, il y a une étape « de génération de code » impliqué. Ceci est transparent lors de l'utilisation VisualStudio, et il y a une ligne de commande pour le faire sans VisualStudio, mais beaucoup de gens n'aiment pas génération de code.
  • À l'heure actuelle il n'y a pas de coureur explicite pour commandline SpecFlow. Cependant, vous pouvez utiliser votre coureur de ligne de commande unité-test.
  • SpecFlow dépend d'un cadre de test unitaire, et actuellement seulement NUnit et MSTest est pris en charge
  • Rapports en SpecFlow n'est pas encore très sophistiqué. Concombre ne propose plus d'options, mais je ne sais pas si elles sont disponibles dans cuke4nuke ...

Autres conseils

Une autre opinion fortement biaisé: Essayez StoryQ :)

Tests StoryQ sont le code fait, vous obtenez beaucoup meilleur soutien refactoring / IDE, et il incorpore au sein de votre coureur de test unitaire existant, donc CI est un jeu d'enfant.

Il est sans doute une question de préférence si vous préférez vérifier dans les caractéristiques de texte brut ou le code compilable. Mais pour nous, nous avons trouvé qu'il était vraiment agréable d'être en mesure de renommer les méthodes narratives et ont toutes les histoires se mettent à jour.

Il est en fait une interface graphique fournie qui permet de convertir des scénarios de texte brut en code StoryQ pour vous, si vous avez déjà un investissement dans des scénarios ou si vous plaintext souhaitez donner le clavier à vos gens d'affaires. Il y a même une forme simple de IntelliSense!

Donnez-lui un aller si vous voulez un point d'entrée ultra-léger en BDD:)

Une autre réponse biaisée: StorEvil mange tous les autres outils .NET BDD

Avantages :. StorEvil a son propre coureur de ligne de commande, a bien des rapports (en utilisant le moteur de vue Spark), et a le meilleur plaintext-> moteur C # traduction et exécution

En outre, il a 100% plus de mal que de toute autre solution.

Inconvénients : StorEvil ne prend pas totalement d'autres langues humaines (sauf l'anglais). intégration à Visual Studio de StorEvil est pas encore aussi bien que les autres outils. StorEvil va boire toute la bière dans le réfrigérateur si vous ne gardez pas un oeil là-dessus.

Je comprends de Richard qu'il a l'intention de cesser Cuke4Nuke et soutient le déplacement quelques-unes des fonctionnalités dans Cuk4Nuke SpecFlow. Donc, la réponse claire est maintenant SpecFlow.

J'ai commencé avec Cuke4Nuke mais ont depuis fait défection à SpecFlow (désolé Richard; -)

Les principales raisons pour moi de faire cette transition étaient:

  • SpecFlow a une belle intégration VS2010 pour la coloration syntaxique des fonctions. Il y a un projet Cuke4VS qui offre similaire, mais il n'a pas pas le soutien VS2010 (ou pas quand je regardais la dernière de toute façon, ce qui était assez récente)
  • J'ai trouvé des tests de débogage dans SpecFlow pour être plus facile (ne me demandez pas d'élaborer, il semblait juste de cette façon ...; -)
  • Cuke4Nuke nécessaire Ruby. J'étais OK avec cela, mais la plupart des C # devs que je connais me spooked par des produits non-MS, Ruby en particulier.

Il y a quelques problèmes avec Specflow / choses que j'aime mieux dans le monde de concombre / Cuke4Nuke:

  • la documentation de Specflow est assez « light » - vous devrez être prêt à travailler dur pour recueillir des informations à partir de sources de concombre et Intuit un peu leur application à Specflow. Cela me dit et quelques autres ont des conceptions sur bouchères la documentation afin que peut améliorer au cours des prochains mois.
  • Je préfère l'expérience de la gestion de concombre / essais Cuke4Nuke sur la ligne de commande avec leur sortie des scénarios code couleur en fonction du statut (je sais que quelqu'un voit ci-dessus cela comme un point négatif que je suppose donc cela dépend si vous êtes une commande line genre de gars ...)
  • La communauté de concombre est plus grand et il y a plus d'activité, il semble que (peut-être) se traduit par plus de gens là-bas pour vous aider.

Dans l'ensemble les deux ont le potentiel d'améliorer la façon dont nous écrivons le logiciel.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top