Я хочу выполнить ATDD с TDD и DDD, и я хочу сначала узнать о поведении (с использованием макетов) модели предметной области (в моем примере это электронная коммерция). Вы можете себе представить, что в иерархии DDD у нас могут быть службы приложений, вызывающие службы и репозитории домена или другие службы, а не код бизнес-логики, только задачи, связанные с приложением). Используйте приведенный ниже текст, который я пытаюсь понять:
КАК ИСПОЛЬЗОВАТЬ MOCKS, ЧТОБЫ УЗНАТЬ ПОВЕДЕНИЕ МОЕГО ДОМЕНА ECOMMERCE И ЗАТЕМ ВСТУПИТЬ В БОЛЬШЕ ГРАНУЛЯРНОЙ РАЗРАБОТКИ TDD ДЛЯ ВНЕДРЕНИЯ ЖЕЛАННОГО ПОВЕДЕНИЯ.
Это отрывок из другого вопроса (в качестве ответа).
«Выберите любую задачу, которую вам нужно реализовать, откройте пустой текстовый файл и попытайтесь простыми предложениями объяснить поведение. Каждое предложение должно начинаться с одного из трех ключевых слов: задано, когда и затем. Используя свой любимый фреймворк BDD, напишите код, который проанализирует эти предложения и побудит приложение перейти в начальное состояние (задано), выполнить некоторые команды (когда) и подтвердить переходное состояние (затем). Код приложения может начинаться с простых имитаций. Постепенно заменяйте эти макеты постепенно создаваемым кодом и расширяйте свое приложение с более высоким уровнем уверенности и качества ".
Может ли кто-нибудь предоставить конкретные примеры начала работы с моками (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] Для каждого тестового сценария реализуйте исполняемый пример, который не работает, поскольку такое поведение не поддерживается системой. Затем используйте внешнюю разработку с широким использованием фиктивных объектов, чтобы конкретизировать поведение, указанное в примере исполняемого файла.
Спасибо, Рад