2010-02-24 9 views
9

J'ai fait du TDD et je l'utilisais plus comme test unitaire que pour piloter mon design. Récemment, j'ai beaucoup lu sur BDD; Maintenant que j'ai une meilleure idée à leur sujet, j'essayais de comprendre comment utiliser BDD et les tests unitaires en même temps. Par exemple, je conduirais mon design en utilisant BDD, style Dan North, et disons que je travaille sur une application et que j'ai une spécification simple et que je l'implémente. J'ai juste assez de bdd/spec pour le couvrir. Maintenant, après que je l'ai re-factorisé et que je sois heureux et que ce soit passé comme fait pour cette spécification, devrais-je commencer à écrire des tests unitaires pour couvrir toutes les entrées possibles, parce que c'est ce que j'ai fait dans TDD? Je suis le seul développeur dans l'entreprise et tout est sur mes épaules, bien que l'autre équipe essaie de tester manuellement l'application, je voudrais réduire le taux de défaut.BDD et tests unitaires

+2

Donc, pouvons-nous voir une réponse réelle à _Dois-je commencer à écrire des tests unitaires pour couvrir toutes les entrées possibles, parce que c'est ce que j'ai fait dans TDD_? J'ai sérieusement la même question et ne pense pas que ce lien vers le livre (même si c'est trop cool) est assez bon pour l'accepter. – jibiel

+0

jibie Votre droit J'ai ajouté une réponse moi-même. mais en retard! – Jamie

Répondre

7

Décrochez "Le livre RSpec". Le livre utilise Concombre & RSpec. Pourrait facilement être concombre & NUnit ou quelque chose d'autre si. Le concombre et BDD étendent le concept de refactor rouge, vert, un niveau plus profond.

http://www.pragprog.com/titles/achbd/the-rspec-book

concombre: http://cukes.info/
RSpec: http://rspec.info/
NUnit: http://www.nunit.org/
JUnit: http://www.junit.org/

+0

Suis un développeur .NET, mais je vais essayer le livre merci! – Jamie

+0

Je suis d'accord, ce livre est génial. Et le concombre est également possible avec .NET. –

+0

Oui, et Java. Cuke pour Nuke et Cuke pour Duke. –

0

Je suis d'accord. Le livre RSpec Book fait un travail décent de décrire l'approche du développement «Outside-In». Concombre (à l'extérieur) aide à décrire le comportement attendu (en termes que l'utilisateur comprend); et RSpec/* Unit (inside) aide à décrire le comportement de votre classe.

+0

Outside-in commence avec les scénarios dans Cucumber, mais l'idée est que vous travaillez depuis les interfaces utilisateur vers l'intérieur à travers les contrôleurs, les dépôts, les services, etc. jusqu'à ce que votre scénario passe. Vous n'écrivez jamais de code qui n'est pas requis par une classe plus proche de l'interface utilisateur (les utilisateurs peuvent être d'autres systèmes). Même au niveau de la classe, nous faisons d'abord les classes «extérieures». – Lunivore