#ruby-on-rails #tdd #rspec #bdd #testunit
#ruby-on-rails #tdd #rspec #bdd #testunit
Вопрос:
Существует существующий проект, который уже развернут в рабочей среде. Мы хотим добавить к нему несколько тестов (чем раньше, тем лучше), и мне приходится выбирать между использованием BDD (rspec / cucumber) или TDD (TestUnit). Я действительно начинаю с BDD, и мне интересно, какое решение может быть лучшим? Я боюсь, что использование rspec / cucumber в существующем проекте rails (который был развернут на этой неделе и требует действительно быстрых итераций) будет довольно сложным (особенно потому, что он не должен использоваться таким образом, я имею в виду, что мы должны сначала написать истории / функции и выполнять итерации оттуда).
TestUnit мог бы быть более разумным, может быть.
У вас есть какие-нибудь мысли по этому поводу? Хотите поделиться опытом? Какие советы?
Ответ №1:
Я считаю, что самый простой способ получить покрытие для существующего приложения — использовать cucumber. Это позволит описать и задокументировать, как должен работать веб-сайт / приложение (и будет продолжать работать).
Поскольку это работает извне, это также имеет то преимущество, что вам пока не нужно полностью разбираться во внутренней работе. В то же время вы тестируете все уровни приложения (модель-представление-контроллер) в одном тесте.
Когда вы начнете реально изменять код, я бы начал добавлять модульные тесты для изменяемого вами кода, используя вашу любимую платформу тестирования. Я лично предпочитаю rspec, но, как вы знаете, это личный выбор 🙂
Комментарии:
1. Хорошая точка зрения! Я даю попробовать cucumber / shoulda. Посмотрим, как все пройдет, спасибо.
2. Удачи. Cucumber обычно очень прост, но если у вас возникли проблемы с началом работы: воспользуйтесь этим форумом 🙂