Хороший обзор.
Эх, сам все хочу переместиться от TDD к BDD при организации команды. Это очень круто и удобно, а главное «человеко-понятно».
Тесты уже и так давно пишутся не в в стиле:
«Test_Orders_SetState_Created_By_MethodCall»
а как
«Order_State_Should_Become_Created_When_SetStateMethod_Called», «Order_Object_Should_Be_Created», и т. д., где ключевое слово «Should» присутствует во всех без исключения тестах, что так и клонит в сторону BDD и описания правил «человеческим языком» и когда тестируется не метод класса или класс, а поведение, которое независимо от методов должно быть реализовано.
Спасибо! Specter пока (хотя скорее уже) не набрал должной популярности, поэтому думаю, что можно обратить внимание на RSpec или Cucumber, благо .NET позволяет.
Это да. Я уже интересовался темой, хотя, признаюсь, не очень глубоко. Но вы же понимаете — одно дело понять одному, другое дело внедрить все это в продакшн-поток ;)
Лично мне непонятно чем это лучше чем использование связки MbUnit+NBehave, например. Мне кажется что если и использовать языки вроде Воо, то из них нужно выжимать как раз то, что C# дать не может.
Пример практики BDD при работе со Specter Framework