Une question rapide : quelqu'un a-t-il rencontré une bibliothèque similaire à Ruby's cucumber (un DSL lisible par l'homme pour définir des cas d'utilisation qui peuvent être testés) dans la sphère .NET ?
Réponses
Trop de publicités?Vous devriez également consulter SpecFlow Il s'agit d'un projet open-source permettant de faire du BDD avec .NET.
SpecFlow utilise le même format de définition (Gherkin), comme cucumber, mais vous pouvez écrire vos définitions d'étapes en .NET. Il génère essentiellement des classes de tests unitaires (NUnit, MsTest, xUnit, etc.) à partir de vos fichiers de caractéristiques, de sorte que vous pouvez utiliser le même moteur d'exécution de tests unitaires, comme vous le faites avec les tests unitaires réels. De cette façon, il est également plus facile d'intégrer les tests fonctionnels BDD au build d'intégration.
Dans les versions récentes, SpecFlow dispose d'une fonction de coloration syntaxique pour Visual Studio 2010 et prend en charge Silverlight et Mono/MonoDevelop.
Bien sûr. Ça s'appelle Concombre . Il existe un exemple de la façon de tester le code .NET dans la section "Test" du site. Répertoire des exemples Cucumber et de la documentation sur le Wiki de Cucumber pour les deux .NET y Mono .
Il semble y avoir 3 possibilités dans cet espace :
-
Utilisez Cucumber et IronRuby. Voici un blog sur quelques étapes pour commencer à le faire. L'inconvénient semble être la performance. J'ai lu des comptes rendus qui disent que son plus lent en général et d'autres qui disent que c'est juste vraiment lent à tourner . Ces résultats sont toutefois loin d'être concluants, car IronRuby est toujours en cours de développement.
-
Utilisez Cuke4Nuke . J'ai entendu ce produit recommandé à plusieurs reprises. Il utilise en fait Ruby et Cucumber, mais exécute votre code .NET via un serveur. Heureusement, toute cette complication est transparente lorsque vous l'utilisez. Cuke4Nuke n'est plus en développement actif.
-
Utilisez SpecFlow . Il s'agit d'un portage .NET de Cucumber. De ce fait, il peut ne pas avoir toutes les fonctionnalités de Cucumber, et il peut avoir des fonctionnalités supplémentaires. L'avantage est qu'il n'est pas nécessaire d'avoir installé Ruby.
Pour l'instant, il ne semble pas évident de savoir laquelle de ces options est la meilleure. Personnellement, j'ai l'intention de commencer par Cuke4Nuke.
Cuke4Nuke attire beaucoup l'attention des gens que je connais :
J'ai écrit un article de blog détaillant le processus que j'ai suivi pour faire fonctionner Cucumber avec IronRuby : http://hotgazpacho.org/2009/06/cucumber-and-ironruby-it-runs/