BDD mit Cucumber und rspec - wann ist das überflüssig?

A Rails / werkzeugspezifische Version von:Wie tief sind deine Unit-Tests?

Rechts jetzt schreibe ich gerade:

Cucumber-Funktionen (Integrationstests) - Diese testen gegen das HTML / JS, das von unserer App zurückgegeben wird, aber manchmal auch andere Dinge, wie Aufrufe an Dienste von Drittanbietern.RSpec Controllertests (Funktionstests), ursprünglich nur, wenn die Controller eine sinnvolle Logik haben, jetzt aber immer mehr.RSpec Modelltests (Komponententests)

Manchmal ist dies absolut notwendig; Es ist notwendig, das Verhalten im Modell zu testen, das für den Endbenutzer nicht ganz offensichtlich oder sichtbar ist. Wenn Modelle komplex sind, sollten sie auf jeden Fall getestet werden. Aber manchmal scheinen mir die Tests überflüssig zu sein. Testen Sie zum Beispiel Methodefoo wenn es nur von @ aufgerufen wibar, undbar ist getestet? Was wäre wennbar ist eine einfache Hilfsmethode für ein Modell, die von einem Cucumber-Feature verwendet wird und in diesem einfach getestet werden kann? Testen Sie die Methode sowohl in rspec als auch in Cucumber? Ich habe damit zu kämpfen, da das Schreiben weiterer Tests einige Zeit in Anspruch nimmt und mehrere "Versionen" des gleichen Verhaltens verwaltet werden, wodurch die Wartung der Testsuite zeitintensiver wird und Änderungen teurer werden.

Kurz gesagt, glauben Sie, dass es eine Zeit gibt, in der das Schreiben von Cucumber-Funktionen ausreicht? Oder solltest du immer auf jedem Level testen? Wenn Sie glauben, dass es eine Grauzone gibt, wie hoch ist Ihre Schwelle für "dies erfordert einen Funktions- / Einheitentest". Was machen Sie derzeit in der Praxis und warum (oder warum nicht) denken Sie, dass es ausreicht?

BEARBEITE: Hier ist ein Beispiel für das, was "Test Overkill" sein könnte. Zugegeben, ich konnte das ziemlich schnell schreiben, aber es war völlig hypothetisch.