Pergunta

Eu estou apenas começando a entender BDD e RSpec e uma coisa que eu realmente estou tendo problemas com é descobrir como minuciosa eu deveria estar com o meu teste.

Eu apenas não estou entendendo como de grão fino meu teste deve ser ainda ser tempo de desenvolvimento útil, mas não duplo.

É apenas uma questão de preferência? Ou existe algum padrão geral para o que deve ser testado?

Foi útil?

Solução

Há alguns fatores a considerar aqui.

  1. cobertura Spec deve ser maior para a maioria dos recursos importantes e as coisas mais propensos a quebrar.
  2. Specs deve expressar desenvolvedor intenção. Fazer especificações não gravação para coisas triviais que você ou alguém pode mudar mais tarde.
  3. comportamento de teste não implementação. Você deve ser capaz de alterar a implementação interna de uma classe e ainda passar as especificações. Isso faz com que a refatoração mais fácil.
  4. Toda vez que você corrigir bugs adicionar specs para evitar que o bug de regressão.

Acho que é útil pensar em testes / Specs como uma rede de segurança. Eu quero uma especificação para falhar se outro dev (ou eu) breaks algo que eu passei tempo para fazer o trabalho. Eu não quero que eles tem que gastar um monte de especificações de tempo mudando para as coisas que realmente não importa. Eu também não quero inibi-los de melhorar a aplicação por causa de especificações que as coisas de teste que não eram importantes para mim quando escrever o código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top