8
votes

Quel est le meilleur cadre BDD pour travailler avec ASP.NET MVC 2 + C # 4?

Je viens d'entendre parler de bdd lorsque je regarde la vidéo de Scott Guthrie en Suède . Un auditeur a posé une question à Scott sur la manière dont VS2010 et ASP.NET MVC font pour prendre en charge BDD.

Après cela, je cherche à propos de BDD (Développement dirigé par le comportement) qui se concentre sur la spécification plus que Test de l'unité Lors de la comparaison avec TDD (Développement axé sur les tests) . J'ai trouvé un cadre qui travaille avec Ruby et Java. Mais je ne suis pas un cadre célèbre pour .NET.

S'il vous plaît me suggérer de BDD Cadre et résumé des avantages / inconvénients.

ps. Le cadre BDD suggéré doit fonctionner très bien sur .NET 4, C # 4.0 et ASP.NET MVC 2.

merci,


0 commentaires

7 Réponses :


1
votes

Avez-vous regardé NBehave ? Vous voulez aussi probablement regarder Cette ancienne question . Mais je voudrais également ajouter que l'OMHO, il est possible de faire BDD en utilisant n'importe quel type de cadre de test d'unité. Un moyen simple simple consiste à nommer votre "classe de test" comme "donnée_x", puis laissez tous vos "méthodes de test" ont des noms comme "it_should_y".


1 commentaires

@James vous pouvez aimer SCNYQ.CODEPLEX.COM car c'est un très petit cadre qui vous donne fondamentalement des rapports de style BDD de vos tests d'unité normaux.



13
votes

Je vois que cette question a déjà une réponse et je n'ai pas essayé NBehave. Mais, nous utilisons MSPEC (Machine.Specifications) pour ce projet relativement important et il est Travailler assez bien pour nous ici. Très bien mérite de mentionner.

Rob Congery a fait une excellente vidéo sur l'apprentissage BDD, où il utilise MSPec, ligne par ligne: (Lien supprimé, n'est plus disponible, mais recherchez-la)

plus sur MSPEC de Rob Conery et pourquoi il l'utilise.
http://wekeroad.com/2009/09/21 / make-bdd-your-bff-2 / Vous voudrez peut-être aussi consulter également ses autres messages BDD BDD.

Avantages:

  • Permet de "encombrer" de votre histoire complète, des scénarios, des contextes et des spécifications - sans code réel. Vous concentrons-vous sur les "comportements" globaux, qui est le but de BDD!, Sans soucier du code et de la rendre compiler.
  • produit un excellent rapport HTML, avec "<- non implémenté" à côté des spécifications encastrées. Je remets souvent ce rapport à: le client (PDG et CTO), les testeurs, nouvelles ressources que j'apporte sur le projet et quiconque souhaite savoir comment fonctionne le logiciel - sans que je doive afficher une ligne de code!
  • Testdriven.net Les coureurs sont inclus avec MSPEC à l'aide de la nouvelle liaison TDnet (pas de configuration!).
  • L'attribut [Comportements], avec son type de délégué compréhensifique, fait copier les spécifications existantes d'un scénario sur un autre scénario un SNAP.

    contre:

    • peu à aucune documentation, même si cela n'est pas nécessaire (regarder les vidéos ci-dessus). L'auteur a récemment blogué de l'aide sur la documentation.
    • toujours neuf, et juste un projet d'équipe de l'auteur (pas son concert principal). Mais c'est très actif à partir de ce post.

      espère que cela aide.


1 commentaires

Je devrais également ajouter cela avec MSPEC 0.3, il existe maintenant un coureur de test Restomer.



6
votes

J'ai construit Scyq après avoir décidé que vous n'aviez pas besoin d'une grande partie d'un cadre. C'est très léger, intégré dans votre coureur de test existant, vérifiez-le à http://storyq.codeplex.com < / p>


4 commentaires

Toujours agréable de voir quelqu'un créer son propre cadre BDD! +1 Un commentaire OT: Dans votre exemple sur la page d'accueil de StoryQ, vous montrez des cours intégrés. Le test de l'unité de Resharber (à partir de 4.5) ne prend pas en charge les classes intégrées. Vous feriez mieux de retirer le wrapper de la classe la plus démodée et d'utiliser des espaces de noms plus raffinés à la place.


@ eduncan911 ouais encore un autre;). Hey, je ne suis pas sûr que vous entendez par "classe intégrée", la hiérarchie est la suivante: Nomspace Storyq.demo / Classe Démotest / Méthode Payexample ...


Doh, tu as raison. Pas d'incorporation là-bas. :) Désolé, après-midi occupé.


J'ai utilisé StoryQ sur quelques projets maintenant. Qu'en est-il d'appeler votre cadre fluentbdd :)



8
votes

Je recommanderais d'essayer Specflow C'est bizarre que personne ne l'a mentionné. Il y a un excellent article ici sur Utilisation de BDD avec Specflow et ASP.NET MVC C'est Open Source et hébergée sur Github

Le flux de spécification utilise le GWT (donné quand alors) Syntaxe que j'aime personnellement vraiment. Nous avons eu un grand succès jusqu'à présent avec BDD essayant maintenant de mettre en œuvre à l'aide de Specflow. Il reste encore tôt quand même mais jusqu'à présent, ça va bien.

Avantages:

  1. S'intègre à VS2008 & VS2010 avec un joli plugin
  2. utilise populaire donné quand alors vocabulaire
  3. utilise le coureur de test Nunit standard
  4. Feature Feature vous permet de simplement coller dans des scénarios de Business Analystes

    contre:

    1. Le code de fonctionnalité derrière est un peu laids, bien que rien à mal
    2. Autant que je sache, le format de rapport est assez limité (je viens d'utiliser Nunit)

      Je vous encourage à lui donner un aller.


0 commentaires

0
votes

storevil

poids très léger http://code.google.com/p/storevil/


0 commentaires

0
votes

Connaissez-vous la vidéo de Goiko Adzic sur la façon de faire BDD en anglais en utilisant Concordion.net ?

http: // gojko .NET / 2009/09/01 / Acceptation-ESSAI-IN-FRANÇAIS-AVEC-CONCORDION-NET /


0 commentaires

0
votes

Essayez celui-ci: https://www.nuget.org/packages/heleonix .Testing.nunit Il fonctionne avec Nunit, mais fournit une syntaxe comme Jasmine ou Jest en JavaScript dans la date donnée / à l'adresse / à la fois et d'organiser / agir / affirmer les styles


0 commentaires