Quelle est la meilleure façon de mettre en œuvre BDD / TDD dans .NET 2.0?

voix
20

Je suis à la recherche d'ajouter une suite de test à ma demande, mais je ne peux pas bouger les frameworks de tests plus récents pour .NET 3.5.

Quelqu'un at-il une suggestion sur les bons cadres d'essai à utiliser?

Créé 05/08/2008 à 13:50
source utilisateur
Dans d'autres langues...                            


12 réponses

voix
9

Bien costume NUnit et Rhino et le conteneur auto-moqueur pourrait intéresser.

Si vous cherchez à BDD aussi alors NBehave est probablement un bon choix. Si toutefois vous venez de dire le style de BDD qui se rapporte à des tests unitaires (xSpec) si vous pouvez vous contenter d' ajouter un cadre (bien que des choses comme specunit ajoutent un peu de sucre synctactic), mais vous voudrez peut - être regarder MSpec est également intéressant.

Créé 12/09/2008 à 11:02
source utilisateur

voix
7

Consultez le screencast de Rob Conery sur BDD en utilisant MSpec. Très impressionnant http://blog.wekeroad.com/mvc-storefront/kona-3/

edit: J'utilise maintenant cette approche: http://10printhello.com/the-one-bdd-framework-to-rule-them/

Créé 17/06/2009 à 13:27
source utilisateur

voix
7

Nous utilisons MbUnit et Rihno Mocks et ils le prouvent très bien fonctionner ensemble. Quand vous faites TDD vous devrez certainement faire une certaine forme d'injection de dépendance, alors que cela peut être fait manuellement, sa valeur à la recherche d' un conteneur IoC tels que le château de Windsor .

Il vaut bien regarder l'écran de John Paul Bodhood jette pour vous aider à démarrer. Blog de JPB

Créé 06/08/2008 à 15:16
source utilisateur

voix
4

Ceci est probablement un résumé de ce qui a déjà été dit, mais pour TDD-je utiliser personnellement Rhino Mocks et MBUnit. Rhino Mocks est un cadre moqueur qui est libre et open source. L'avantage de Rhino Mocks est que nous ne avons pas besoin d'utiliser des chaînes magiques dans la définition de vos attentes comme vous le faites dans NMock.

J'aime MBUnit parce que MbUnit a le concept de RowTests qui vous permettent de varier vos entrées à votre méthode d'essai. MBUnit est également disponible gratuitement.

Vous voulez également vous assurer que ce que vous choisissez pour votre cadre de tests unitaires est pris en charge par votre CI (intégration continue Server). Nunit est prise en charge par défaut dans Cruise Control.NET et vous devez faire un peu de travail supplémentaire pour obtenir MBUnit pour travailler dans CCNet.

Du point de vue de l'IDE, vous devez avoir TestDriven.NET. TestDriven.NET permet aux tests de clic et courir à droite dans l'EDI et il prend en charge MBUnit et Nunit et d'autres.

NBehave est la bibliothèque BDD je l'ai utilisé. Je ne l'ai pas utilisé d'autres donc je ne pouvais pas les comparer et les contraster avec vous, mais NBehave est pris en charge par Gallio de l'équipe MBUnit, qui signifie que vous pouvez exécuter vos tests BDD comme vous le feriez vos tests unitaires avec TestDriven.NET.

Je conseillerais aussi vivement ReSharper. Vous trouverez votre productivité augmenter de manière significative avec cet outil de refactoring et des conseils. Il vous aidera à changer votre code que vous développez vos tests.

J'espère que cela t'aides

Créé 10/10/2008 à 19:06
source utilisateur

voix
4

J'ai eu beaucoup de succès en utilisant NUnit aussi bien.

J'ai aussi utilisé NMock lorsque le besoin se faisait sentir pour des objets fantaisie. En prime, l'usine pour créer vos objets fantaisie est appelé raillerie.

Afin de faciliter le déroulement des tests unitaires, je l' ai utilisé TestDriven.NET pour exécuter des tests unitaires comme je l' ai codé. De plus, je l' ai utilisé Cruise Control .NET pour regarder SVN et vérifier que chaque nouveau commit builds et passe tous les tests unitaires.

Créé 06/08/2008 à 15:06
source utilisateur

voix
4

Pour une bibliothèque d'objets Mock, j'ai trouvé la licence BSD- Rhino.Mocks être plutôt agréable.

Créé 05/08/2008 à 13:54
source utilisateur

voix
3

Je vais devoir mettre un cri pour Moq . Il est propre cadre moqueur de lumière qui vous aide à vous guider dans la fosse de succès.

Les outils de test intégrés dans TFS sont d'accord, ils vont faire le travail, mais peuvent souvent être un peu lourd à travailler avec. Les rapports générés, la couverture de code et quelques autres parties sont particulièrement mauvaises, ils vous font devenir chauve à 22 au lieu de 50.

Si vous êtes vraiment aimer le test, envisager d'essayer une intégration continue. Vous vous sentirez la douleur de la régression rapide et potentiellement vous aider à arriver à l'objectif final plus rapidement.

Peu importe ce que vous essayez un peu et de voir que l'on est le plus naturel, si vous avez le temps. Bonne chance et codage heureux.

Créé 27/09/2008 à 05:28
source utilisateur

voix
3

L' utilisation nUnit avec TFS est pas trop difficile. Il y a même un projet sur CodePlex pour mettre en œuvre ceci: NUnit pour l' équipe Créer qui même « publie » les résultats à l'entrepôt.

Je ne l'ai pas essayé - mais je vous conseille les clients qui ont un investissement important (ou qui ont une forte préférence pour elle sur l'outil MSTest) à nUnit qui sont intéressés à la mise en œuvre TFS de poursuivre nUnit plutôt que d'essayer de convertir tous leurs les tests existants.

Créé 07/09/2008 à 13:58
source utilisateur

voix
3

NUnit est disponible à http://www.nunit.org Je suggère ce même lorsque l'on travaille sur la pile MS - le soutien des cadres non-MS qui se passe dans les aperçus MVC qui montre un mouvement défini dans le bon sens pour nous permettre tous personnaliser nos piles pour s'adapter.

Créé 05/08/2008 à 14:03
source utilisateur

voix
2

Pour mon projet, je NUnit et TestDriven.NET avec grand succès. Vous pouvez créer soit une bibliothèque séparée juste pour héberger votre code de test ou vous pouvez le mettre dans votre exécutable ou d'une bibliothèque. Tout dépend si vous voulez que votre code de production à entrelacer avec votre code de test.

Pour l' injection de dépendances, j'utilise ninject dans mon projet actuel et son grand travail. Si vous utilisez l' injection Constructor, vous n'avez pas besoin d'encombrer votre code avec l'attribut [Injecter].

Je ne l' ai pas utilisé une bibliothèque maquette pour mon projet .NET 2.0 , mais pour un autre projet .NET 3.5 Je vais utiliser Moq

Notez que tout cela fonctionne avec .NET 2.0 et supérieur. (Sauf QMC)

Créé 17/06/2009 à 13:48
source utilisateur

voix
2

Je recommande ce qui suit:

TestDriven.NET - ajouter des tests unitaires sur des VS qui est entièrement intégré avec tous les principaux cadres de tests unitaires , y compris NUnit, MbUnit etc ...

Typemock Isolateur - Un cadre moqueur pour .Net Unit Testing

NUnit - Un cadre de tests unitaires open source qui est en C #.

Créé 15/10/2008 à 15:24
source utilisateur

voix
2

NUnit est toujours un de mes préférés. Toutefois, si vous utilisez TFS comme votre contrôle de code source, je vous suggère de coller avec la pile Microsoft.

Créé 05/08/2008 à 13:51
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more