Точнее, тесты на блокнот считаются практикой BDD?Является ли разработка, основанная на тестах, частью разработки, основанной на поведении?
Соединяет тестирование как часть BDD/TDD или обоих?
Точнее, тесты на блокнот считаются практикой BDD?Является ли разработка, основанная на тестах, частью разработки, основанной на поведении?
Соединяет тестирование как часть BDD/TDD или обоих?
Существует несколько типов испытаний: модульные испытания, приемочные испытания, интеграционные тесты. Существует несколько методов разработки, таких как TDD или BDD. Таким образом, BDD касается не только приемочных испытаний. BDD может быть выполнен на уровне единичных тестов. Вот некоторые из Dan North thoughts о разнице между BDD и TDD, когда мы говорим о юнит-тестирования:
Существуют различные структуры BDD для различных видов испытаний. Например. SpecFlow для принятия BDD, или NSpec для уровня BDD.
Так, отвечая на ваши вопросы:
Я думаю, что большинство модульных тестов, которые я видел, больше ориентированы на детали реализации, чем на их функциональное поведение. Эти типы тестов имеют тенденцию быть хрупкими и бесполезными. Когда тесты больше сосредотачиваются на том, что должно произойти, а не на том, как все будет сделано, в ваших модульных тестах найдется общий язык, похожий на BDD. – bryanbcook
Согласен. В последние несколько лет я, как правило, пишу тесты в стиле человекочитаемой живой документации, которая не зависит от реализации. Но в начале я также использовал имена типа TestMethodFoo, которые становятся беспорядочными после простого переименования MethodFoo :) –