BDD с огурцом и rspec - когда это избыточно?

Версия для Rails / инструмента:Насколько глубоки ваши юнит-тесты?

Прямо сейчас я пишу:

Функции Cucumber (интеграционные тесты) - это тестирование на соответствие HTML / JS, возвращаемому нашим приложением, но иногда также тестирование других вещей, таких как вызовы сторонних сервисов.Тесты контроллеров RSpec (функциональные тесты), первоначально, только если контроллеры имеют какую-либо значимую логику, но теперь все больше и больше.Модельные испытания RSpec (юнит-тесты)

Иногда это совершенно необходимо; необходимо проверить поведение в модели, которое не является полностью очевидным или видимым для конечного пользователя. Когда модели сложны, их обязательно нужно проверить. Но в других случаях мне кажется, что тесты излишни. Например, вы тестируете методfoo если он вызывается толькоbar, а такжеbar проверено? Что, еслиbar простой вспомогательный метод в модели, который используется и легко тестируется в функции Cucumber? Тестируете ли вы метод в rspec, а также в Cucumber? Я сталкиваюсь с этим, так как написание большего количества тестов занимает много времени и поддержание нескольких «версий» того же поведения, что делает обслуживание набора тестов более длительным, что, в свою очередь, делает изменения более дорогими.

Короче говоря, вы верите, что есть время, когда достаточно написать только огуречные черты? Или вы должны всегда тестировать на каждом уровне? Если вы думаете, что есть серая зона, каков ваш порог для «это требует функционального / модульного тестирования». С практической точки зрения, что вы делаете в настоящее время, и почему (или почему нет) вы думаете, что этого достаточно?

РЕДАКТИРОВАТЬ: Вот пример того, что может быть «пробным перебором». По общему признанию, я смог написать это довольно быстро, но это было полностью гипотетически.

Ответы на вопрос(6)

Ваш ответ на вопрос