Незважаючи на те, що я не був у проекті TDD чи BDD, або я був у деяких, хто каже, що вони роблять TDD, але знаходяться досить далеко від цього, це те, про що я думаю, і намагаюся прочитати якомога більше о.
Повернення до питання. Коли ви робите BDD, ви повинні спочатку написати свій "тест" і зробити його невдалим, правда? А потім реалізуйте цю функцію або те, що ви її називаєте. Але якщо ви поставите це до крайності, чи не може це бути якийсь розвиток згори вниз? Ви дивитесь на свій інтерфейс і каже: "Я хотів би мати цю особливість / поведінку тут". Потім ви виправите свій інтерфейс користувача, щоб реалізувати цю функцію та код, який підтримує інтерфейс користувача. На даний момент ви не реалізували жодної логіки бізнесу або логіки доступу до даних, ви просто реалізували свою поведінку. На що я прагну замість того, щоб написати тест, спочатку ви напишете свій код інтерфейсу. У деяких випадках це повинно призвести до того ж коду для доступу до даних та бізнес-рівня, оскільки ви використовуєте свій код інтерфейсу для визначення того, що потрібно підтримувати вашому бізнесу.
Звичайно, ви повинні доповнити це тестами, які використовуються для того, щоб переконатися, що функція працює так, як і належить.
Будь-які думки?
main
. У коментарі зверху вниз ви говорите про функціональні тести, які виконують всю програму хоч єдинуmain
.