Boa noite pessoal,
Gostaria de aprofundar um ponto discutido no curso e aproveitar para trocar experiência com os colegas. Trabalho como desenvolvedor e já venho buscando aplicar os testes unitários no dia a dia, mas em alguns momentos chego a ter a impressão de estar implementando um teste muito simples, que fico na dúvida se deveria existir. Ao mesmo tempo, ao não testar, a cobertura do código diminui e a confiança em fazer refatorações também.
Na aula sobre TDD foi colocado que um teste unitário deve representar uma regra de negócio. Inclusive, na fase de refatoracao (depois de fazer uma primeira função que passava no teste), essa função foi quebrada em duas na aula (criou-se a função 'eh_socio'.
Até aqui, sempre carreguei o entendimento de que um teste unitário deve testar uma unidade de codigo, ou seja, uma função. Desta forma, vinha pemsando em criar um teste para cada função, o que às vezes leva a uns testes meio bobos.
Gostei da ideia de o teste representar a regra de negócio e agora faz mais sentido a ideia de que os testes podem representar uma documentação dessas regras.
Gostaria apenas de confirmar se é essa mesmo a prática e discutir um pouco essa quebra: o teste unitário então nao é para testar uma funcao, mas sim uma regra de negócio.
Agradeço a todos desde já. Parabéns a todos envolvidos no curso .