Я намагаюся зрозуміти BDD. Я прочитав деякі статті, і, як я зрозумів, BDD - це "наступний крок" від TDD. Я говорю це, оскільки я вважаю, що обидва дуже схожі, і як я міг прочитати в цій статті , BDD народився як поліпшення від TDD. Чудово, ідея мені дуже подобається.
Є один практичний момент, який я не розумію, подумав: є файл .feature, в якому БА запише всю очікувану поведінку, в якій би мала система. Як бакалавр, він не має уявлення про те, як будується система, тому ми напишемо щось подібне:
+ Сценарій 1: Обліковий запис у кредит +
З огляду на рахунок в кредит
І карта дійсна
А дозатор містить готівку
Коли замовник вимагає готівку
Потім переконайтесь, що рахунок рахунку списаний та переконайтеся, що кошти будуть видані
І гарантуйте повернення картки
Добре, це чудово, але є багато частин системи, які співпрацюватимуть так, щоб це могло статися (подумайте про акаунт obj, Dispenser obj, Customer obj тощо). Для мене це виглядає як інтеграційний тест.
Мені хотілося б провести одиничні тести. Як перевірити код, який перевіряє, чи є у дозатора гроші? Або що готівка видається? Або що рахунок списується при необхідності? Як я можу змішувати одиничні тести з тестами "Створено BA"?