BDD com pepino e rspec - quando isso é redundante?

Uma versão específica do Rails / ferramenta de:Qual a profundidade dos seus testes de unidade?

No momento, atualmente escrevo:

Recursos de pepino (testes de integração) - são testados contra o HTML / JS retornado pelo nosso aplicativo, mas às vezes também testam outras coisas, como chamadas para serviços de terceiros.Testes do controlador RSpec (testes funcionais), originalmente apenas se os controladores tiverem uma lógica significativa, mas agora cada vez mais.Testes do modelo RSpec (testes de unidade)

Às vezes isso é totalmente necessário; é necessário testar o comportamento no modelo que não é totalmente óbvio ou visível para o usuário final. Quando os modelos são complexos, eles definitivamente devem ser testados. Mas outras vezes, parece-me que os testes são redundantes. Por exemplo, você testa o métodofoo se for chamado apenas porbarebar é testado? E sebar é um método auxiliar simples em um modelo usado e facilmente testável em um recurso de pepino? Você testa o método no rspec e no Pepino? Encontro-me lutando com isso, pois escrever mais testes leva tempo e mantém várias "versões" do que efetivamente são os mesmos comportamentos, o que torna a manutenção do conjunto de testes mais demorada, o que, por sua vez, torna as alterações mais caras.

Em resumo, você acredita que há um momento em que escrever apenas os recursos de pepino é suficiente? Ou você deve sempre testar em todos os níveis? Se você acha que há uma área cinzenta, qual é o seu limite para "isso precisa de um teste funcional / unitário". Em termos práticos, o que você faz atualmente e por que (ou por que não) você acha que é suficiente?

EDITAR: Aqui está um exemplo do que pode ser "excesso de teste". É verdade que consegui escrever isso rapidamente, mas era completamente hipotético.

questionAnswers(6)

yourAnswerToTheQuestion