Как TDD и BDD связаны друг с другом в Rails 3? - PullRequest
6 голосов
/ 03 августа 2010

Я новичок, когда дело доходит до TDD и BDD.

Вот что я знаю:

Для использования TDD в Rails я использую встроенные модульные, функциональные и интеграционные тесты.

Чтобы использовать BDD в Rails, я использую Cucumber.

Значит, эти две разные техники не следует использовать вместе?

Если я использую TDD, то я не должен использовать BBD / Cucumber и наоборот?

Пожалуйста, просветите меня по этой теме.

Спасибо

Ответы [ 2 ]

8 голосов
/ 03 августа 2010

Не то чтобы я гений в этом, но вот мой скромный ответ.

Cucumber отлично подходит для описания поведения вашего сайта, объединения бизнес-решений и кода и правильной разработки сайта на его основе.

Затем, после этого, вы создаете Rspecs, чтобы проверить, как хранятся данные в вашем MVC. Rspec отлично подходит для моделей.

Я рекомендовал использовать Factory-Girl для тестирования контроллеров.

В заключение, использование всего этого обеспечивает очень округлую серию тестов, чтобы убедиться, что, во-первых, ваши бизнес-решения встречаются, а во-вторых, что ваша архитектура может противостоять множеству углов, которые можно протестировать с помощью rspec и factory-girl. 1009 *

0 голосов
/ 17 августа 2011

Я обнаружил, что получение правильного сочетания того, что, когда и почему было самым сложным, учитывая, что в сети часто слишком много информации. Хороший пост в блоге Outside in BDD , который отправляет вас в путешествие по тестированию с использованием Cucumber и RSpec.

Автор, Сара Мей, объясняет поток, который разработчик предпримет для использования BDD / TDD, и выделяет некоторые предостережения при тестировании контроллеров, моделей и представлений.

Я склонен согласиться с тем, что Rspec хорош для моделей, особенно когда у вас есть нестандартное поведение, выходящее за рамки того, что Rails дает вам из коробки. Об этом говорится в книгах по RSpec & Cucumber, просто нужно время, чтобы найти тот драгоценный камень информации о тестировании, что, когда и почему!

...