Próbuję zrozumieć BDD. Przeczytałem kilka artykułów i jak zrozumiałem, BDD to „następny krok” od TDD. Mówię to, ponieważ uważam, że oba są bardzo podobne, i jak mogłem przeczytać w tym artykule , BDD narodziło się jako ulepszenie z TDD. Świetnie, naprawdę podoba mi się ten pomysł.
Jest jedna praktyczna kwestia, której nie rozumiem, pomyślał: istnieje plik .feature, w którym BA zapisze wszystkie oczekiwane zachowanie, w którym zachowałby się system. Jako licencjat nie ma pojęcia, jak budowany jest system, więc napiszemy coś takiego:
+ Scenariusz 1: konto jest zasilone +
Biorąc pod uwagę, że konto jest zasilone
Karta jest ważna
A dozownik zawiera gotówkę
Gdy klient zażąda gotówki
Następnie upewnij się, że konto jest obciążone i upewnij się, że wypłacono gotówkę
I upewnij się, że karta została zwrócona
Ok, to świetnie, ale istnieje wiele części systemu, które będą ze sobą współpracować, aby mogło się to zdarzyć (pomyśl o Konto obj., Dozownik obj, Klient obj. I tak dalej). Dla mnie wygląda to na test integracyjny.
Chciałbym przeprowadzić testy jednostkowe. Jak przetestować kod sprawdzający, czy w dozowniku są pieniądze? Lub że gotówka jest wydawana? Czy konto jest obciążane w razie potrzeby? Jak łączyć testy jednostkowe z testami „BA Created”?