Obwohl ich nicht in einem TDD- oder BDD-Projekt war oder in einigen, die sagen, dass sie TDD machen, aber ziemlich weit davon entfernt sind, sind dies Dinge, über die ich nachdenke und die ich wirklich versuche, so viel wie möglich zu lesen Über.
Zurück zur Frage. Wenn Sie BDD machen, sollten Sie zuerst Ihren "Test" schreiben und ihn zum Scheitern bringen, oder? Und dann implementieren Sie diese Funktion oder wie Sie es nennen. Aber wenn Sie dies auf die Spitze treiben, könnte dies nicht eine Art Top-Down-Entwicklung sein? Sie sehen sich Ihre Benutzeroberfläche an und sagen: "Ich möchte diese Funktion / dieses Verhalten hier haben." Anschließend korrigieren Sie Ihre Benutzeroberfläche, um diese Funktion und den Code zu implementieren, der die Benutzeroberfläche unterstützt. Zu diesem Zeitpunkt haben Sie noch keine Geschäftslogik oder Datenzugriffslogik implementiert, sondern nur Ihr Verhalten implementiert. Was ich anstrebe, anstatt zuerst den Test zu schreiben, schreiben Sie zuerst Ihren UI-Code. In einigen Fällen sollte dies zu demselben Code für den Datenzugriff und die Geschäftsschicht führen, da Sie Ihren UI-Code verwenden, um zu definieren, was Ihr Unternehmen unterstützen muss.
Natürlich sollten Sie dies durch Tests ergänzen, mit denen sichergestellt wird, dass die Funktion ordnungsgemäß funktioniert.
Irgendwelche Gedanken?
main
. In Ihrem Top-Down-Kommentar sprechen Sie von Funktionstests, bei denen das gesamte Programm in einem einzigen ausgeführt wirdmain
.