Как бы один протестировать приложение Rails? Тщательно прицеливается в Eighty percent coverage and no less!
Фактическое решение относительно «как» легко, но «сколько» может быть сложно ответить.
У меня есть несколько небольших (почти, но не совсем унаследованных) проектов, которые не тестируются, и тесты, как правило, представляют собой низкоуровневые модульные тесты важнейших компонентов кода. Иногда мне жаль, что у них не было больше тестов, но в целом они сбрасываются вместе с довольно небольшими поверхностными областями, которые делают отладку и ручное тестирование довольно прямолинейным.
В моей повседневной работе мы используем rSpec, Cucumber и Selenium на довольно большом проекте Rails (10+ разработчиков, несколько лет в процессе создания).
rSpec обеспечивает покрытие устройства для всех наших моделей, контроллеров, помощников и других классов.
Огурцы обеспечивают функциональные и интеграционные тесты более высокого уровня.
Selenium используется для осуществления интенсивных javascript-областей нашего пользовательского интерфейса с помощью javascript (проходя через Capybara и Cucumber). У нас также есть набор регрессионных тестов в Selenium, используемых нашей командой тестирования и QA (версии, выпущенные в QA, освещены зеленым светом через нашу сборку CI).
Моей «минимальной» настройкой в эти дни было бы охват уровня единицы с использованием rSpec в критических и/или сложных областях и полный набор функциональных тестов огурца на критических путях через приложение.
Как я не думаю, что я могу дать действительно новый ответ, я ссылку на мой ответ от предыдущего вопроса, который был несколько аналогичный http://stackoverflow.com/questions/1448821/does-cucumber-do-away-with-the-need-to-write-unit-tests/1448928#1448928. Мой ответ также редактировался г-ном Топли, как и ваш вопрос :) – theIV