Même si je n'ai pas été dans un projet TDD ou BDD, ou si j'ai été dans certains qui disent qu'ils font du TDD mais sont loin de là, ce sont des choses auxquelles je pense et que j'essaie vraiment de lire autant que je peux sur.
Revenons à la question. Lorsque vous faites un BDD, vous devez d'abord écrire votre "test" et le faire échouer, non? Et puis implémentez cette fonctionnalité ou ce que vous appelez. Mais si vous prenez cela à l'extrême, cela ne pourrait-il pas être une sorte de développement descendant? Vous regardez votre interface utilisateur et vous dites: «J'aimerais avoir cette fonctionnalité / ce comportement ici». Ensuite, vous corrigez votre interface utilisateur pour implémenter cette fonctionnalité et le code qui prend en charge l'interface utilisateur. À ce stade, vous n'avez implémenté aucune logique métier ou logique d'accès aux données, vous venez de mettre en œuvre votre comportement. Ce que je vise au lieu d'écrire le test d'abord, vous écrivez d'abord votre code d'interface utilisateur. Dans certains cas, il devrait en résulter le même code pour l'accès aux données et la couche métier, car vous utilisez votre code d'interface utilisateur pour définir ce que votre entreprise doit prendre en charge.
Bien sûr, vous devez compléter cela par des tests qui sont utilisés pour vous assurer que la fonctionnalité fonctionne comme elle le devrait dans la fonctionnalité.
Des pensées?
main
. Dans votre commentaire de haut en bas, vous parlez de tests fonctionnels, qui exécutent l'ensemble du programme à travers un seulmain
.