Честно говоря, я не вижу разницы между BDD и TDD.
Это потому что их нет.
Я имею в виду, что оба - просто тесты, если то, что ожидается, произойдет.
Это неправильно. BDD и TDD не имеют ничего общего с тестированием. Никто. Нада. Шиш. Zip. Никс. Ни в малейшей степени.
К сожалению, в TDD слово "test" встречается практически во всем (не только в его названии, но также в тестовой среде, модульном тесте, TestCase
(класс, от которого вы наследуете tpyically), FooTest
(класс который обычно содержит ваши тесты), testBar
(типичный шаблон именования для метода тестирования), плюс множество терминов, связанных с тестами, такими как «утверждение» и «проверка»), что заставляет некоторых людей верить, что это на самом деле имеет какое-то отношение к тестам. Итак, некоторые умные люди сказали: «Эй, давай просто сменим имя», чтобы убрать любую путаницу.
И это то, что BDD. Это просто TDD с любой терминологией, связанной с тестами, замененной терминологией, связанной с примерами поведения:
- Test & rarr; Пример
- Утверждение & rarr; Expectation
assert
& rarr; should
- Единица & rarr; Поведение
- Проверка & rarr; Спецификация
BDD - это просто TDD с разными словами. Если вы делаете TDD правильно, вы делаете BDD. Разница в том, что & ndash; при условии, что вы верите хотя бы в слабую форму гипотезы Сапир-Уорфа - ndash; разные слова упрощают правильное выполнение.