J'essaie de comprendre BDD. J'ai lu quelques articles et, si j'ai bien compris, BDD est "la prochaine étape" de TDD. Je dis cela parce que je trouve que les deux sont très similaires, et comme j'ai pu le lire dans cet article , BDD est né comme une amélioration de TDD. Génial, j'aime vraiment l'idée.
Il y a un point pratique que je n'obtiens pas, pensa: il y a un fichier .feature dans lequel le BA écrira tout le comportement attendu dans lequel le système aurait. En tant que BA, il n'a aucune idée de la façon dont le système est construit, nous allons donc écrire quelque chose comme ceci:
+ Scénario 1: le compte est à crédit +
Étant donné que le compte est à crédit
Et la carte est valide
Et le distributeur contient de l'argent
Lorsque le client demande de l'argent
Assurez-vous ensuite que le compte est débité et assurez-vous que l'argent est distribué
Et assurez-vous que la carte est retournée
D'accord, c'est très bien, mais il y a de nombreuses parties du système qui collaboreront pour que cela se produise (pensez à Account obj, Dispenser obj, Customer obj et ainsi de suite). Pour moi, cela ressemble à un test d'intégration.
J'aimerais avoir des tests unitaires. Comment tester le code qui vérifie si le distributeur a de l'argent? Ou que l'argent est distribué? Ou que le compte est débité en cas de besoin? Comment puis-je mélanger les tests unitaires avec les tests "BA Created"?