Должен ли я использовать specflow на уровне unit test?
Возможный дубликат:
SpecFlow/BDD для модульных тестов?
В течение последних нескольких лет я работал в TDD с использованием NUnit/Moq, и за последние несколько месяцев я занимаюсь BDD с помощью mSpec.
До сих пор так хорошо, но теперь мы хотим больше переходить на тесты, основанные на критериях приемлемости, в которых задействованы бизнес-аналитики, и мы получаем внешний вид в процессе разработки.
Итак, теперь у нас есть предопределенные синтаксические файлы Gherkin и с specflow, который он считает правильным способом работы.
Однако на уровне unit test, имеющем предопределенные файлы Gherkin, будет идти против того, что я понимаю в TDD. Другими словами, вы разрабатываете, когда идете по долгому развитию своего дизайна с поведением.
Поскольку мы работаем с использованием внешнего подхода, теперь на уровне unit test может быть, что теперь у нас есть спецификации/поведения, которые теперь могут использоваться для управления моими модульными тестами (просто похоже, что это против того, как я делали TDD)?
Раньше эти файлы были важны для приемочных тестов, но как разработчик я буду работать один, поэтому они не нужны, если я не использую SpecFlow.
. Какую же выгоду мы имели бы на уровне unit test, имеющем файлы GWT, которые поддерживаются при использовании mspec? Разработчики должны иметь возможность просто впрыгнуть в код и прочитать тесты или просто запустить тестовый бегун, чтобы посмотреть, что он делает.
ТИА
JD
Ответы
Ответ 1
Мой спонтанный ответ №.
Основное преимущество BDD и инструментов, таких как specflow и Cucumber, - это общение с заинтересованными сторонами проекта и создание общего понимания того, что должно быть построено.
Основным преимуществом TDD является принятие небольших шагов по реализации решений, гарантирующих, что вы создадите поддерживаемый и отличный код.
Или, если хотите; BDD говорит о том, что мы строим правильные вещи, TDD - это обеспечение того, чтобы мы строили его правильно.
Я ответил на такой вопрос на днях в своем блоге, если вы хотите получить более подробную информацию; http://www.marcusoft.net/2011/11/bdd-and-technical-scenarios.html