Я вижу, что на этот вопрос уже есть ответ, и я не пробовал NBehave. Но мы используем MSpec (Machine.Specifications) для этого довольно крупного корпоративного проекта, и он у нас работает довольно хорошо. Очень стоит упомянуть.
Роб Конери сделал ОТЛИЧНОЕ видео на Learning BDD, где он использует MSpec, строка за строкой:
(ссылка удалена, больше недоступна, но ищите ее)
Подробнее о MSpec от Роба Конери и о том, почему он его использует.
http://wekeroad.com/2009/09/21/make-bdd-your-bff-2/ Возможно, вы также захотите проверить и другие его сообщения с тегом BDD.
Плюсы:
- Позволяет быстро «заглушить» всю историю, сценарии, контексты и спецификации - без какого-либо фактического кода. Давайте сосредоточимся на общем «Поведении», которое является целью BDD !, не беспокоясь о коде и его компиляции.
- Создает ОТЛИЧНЫЙ отчет в формате HTML с надписью «<- NOT IMPLEMENTED» рядом с заглушенными спецификациями. Я часто передаю этот отчет: Клиенту (генеральный директор и технический директор), Тестерам, Новым ресурсам, которые я привожу в проект, и всем, кто хочет знать, как работает программное обеспечение - без необходимости показывать мне строку кода! </li>
- В MSpec включены бегуны TestDriven.NET с использованием новой связи tdnet (без настройки!).
- Атрибут [Behaviors] вместе с его типом делегата Behaves_like позволяет легко скопировать существующие спецификации из одного сценария в другой другой сценарий.
Минусы:
- Документация практически отсутствует, хотя не требуется много (смотрите видео выше). Автор недавно написал в блоге о помощи по документированию.
- Все еще новый, и просто побочный проект от автора (не его основной концерт). Но это очень активно с этого поста.
Надеюсь, это поможет.