Я хочу сделать ATDD с TDD и DDD, и я сначала хочу обнаружить поведение (используя ложные показания) модели предметной области (электронная коммерция в моем примере).Вы можете себе представить, что на уровне DDD у нас могут быть сервисы приложений, вызывающие доменные сервисы и репозитории или другие сервисы и код не бизнес-логики, только задачи, связанные с приложением.) Пожалуйста, используйте текст ниже, который я пытаюсь понять:
КАК ИСПОЛЬЗОВАТЬ МОКИ, ЧТОБЫ ОТКРЫТЬ ПОВЕДЕНИЕ МОЕЙ ЭКОНОМИЧЕСКОЙ ДОМЕНЫ, И ЗАПИСАТЬ БОЛЬШЕ РАЗРАБОТКИ GRANULAR TDD ДЛЯ ОСУЩЕСТВЛЕНИЯ ЖЕЛАТЕЛЬНОГО ПОВЕДЕНИЯ.
Это выдержка из другого вопроса (как ответ).
BDD, что это за функция?
"Выберите любую задачу, которую вам нужно реализовать, откройте пустой текстовый файл и попробуйте объяснить с помощью простых предложений поведение. Каждое предложение должно начинаться с одного из трехключевые слова: дано, когда и затем. Используя вашу любимую среду BDD, напишите код, который будет анализировать эти предложения и стимулировать приложение к переходу в начальное состояние (задано), выполнять некоторые команды (когда) и утверждать переходное состояние (тогда).Код приложения может начинаться с простого макетаs.Постепенно заменяйте эти макеты постепенно создаваемым кодом и расширяйте свое приложение с более высокими уровнями достоверности и качества. "
Может ли кто-нибудь привести конкретные примеры запуска с макетами (RhinoMock, Moq), используя два подхода:
1.Привод ATDD через действия контроллера и
2.Использование драйвера Watin (объекты страницы, расширения WatiN MVCContrib) или Selenium.
Если я использую № 2. Смогу ли я увидеть какой-нибудь примерданные, когда я сам посещаю некоторые страницы и выполняю некоторые действия («Когда» я что-то делаю: перемещаюсь, публикую данные) и проверяю результаты этих действий.
Чтобы полностью понять природу моего вопроса, пожалуйста, прочитайте это: http://jockeholm.wordpress.com/2010/02/14/combining-tddbdd-with-ddd/ Особенно шаги 3. и 4.
Я выделю текст для шага 3:
3. [BDD / ATDD] Для каждого тестового сценария реализуйте исполняемый пример, которыйтерпит неудачу, так как это поведение не поддерживается системой. Затем, используйте внешнюю разработку, с обширным использованием фиктивных объектов, чтобы конкретизировать поведениеили указано в исполняемом примере.
Спасибо, Рад