Dicas e boas práticas sobre testes unitários em C#

preview_player
Показать описание
Vou deixar o vídeo transcrito aqui embaixo caso queira verificar algum detalhe :)

Fala pessoal, quem está falando é o Regis e hoje vou falar pra vocês sobre testes, esses que hoje viraram essenciais em qualquer produto desenvolvido e que ajudam a mapear cenários de sucesso e falha, evitando uma longa trilha de erros não mapeados. Hoje vamos abordar dicas e boas práticas sobre testes unitários em C#.

- 1 - Faça testes pequenos.

Mantenha o teste focado no escopo que você está testando, por exemplo, se tivermos um método que chama outros dois métodos e retorna uma classe X, faça um mock desses dois métodos e valide se o retorno era o que você estava esperando, dessa forma você foca o teste apenas no essencial e não cria uma falsa cobertura em cima daqueles métodos que você mockou anteriormente.

- 2 - Coloque nomes que façam sentido e crie um padrão para o seu software.

Se você já trabalhou com testes unitários em um projeto profissional sabe do que eu estou falando, geralmente é criado um acordo entre a nomenclatura dos testes daquele software, possibilitando uma leitura mais rápida e clara do que o teste está cobrindo. Um padrão interessante de se utilizar é chamar inicialmente o nome do método, logo após a ação desejada e o retorno, se houver, exemplo: Soma_QuandoDoisValoresInteirosSaoPassados_DeveRetornarUmValorInteiro.

- 3 - Não hesite em verificar tudo daquele método.

Quando você chama o método, garanta que todas as condições dele estejam testadas separadamente e verifique coisas como: o retorno dos métodos, quantidade de vezes em que foram chamados e se não foram chamados mais de uma vez, isso se não fizer sentido serem chamados, claro.

- 4 - Tente utilizar sempre que possível um mesmo teste para testar aquele método.

Essa dica se da principalmente quando você tem o mesmo escopo no teste mas precisa testar com variáveis diferentes, por exemplo um teste de soma, você entra com dois valores do tipo INT e recebe um retorno do tipo INT, para isso, podemos utilizar a annotation [Theory] e a annotation [InlineData] da biblioteca XUnit para passarmos para esse teste três parâmetros: o valor A, o valor B e o valor Excepted, com isso, cobrimos diversos cenários em um.

- 5 - Use e abuse do debug.

Não é atoa que o debug é muito utilizado pelos desenvolvedores. Independente do nível de senioridade, todo mundo precisa em algum momento verificar passo-a-passo o escopo daquele método que está sendo testado, então, não tenha medo, não é vergonhoso debugar um teste, quando você faz isso você entende melhor como o teste funciona, quem o método testado chama e se está tudo conforme você estava esperando.

Com isso finalizamos esse video sobre testes, espero que tenham gostado e aprendido algo, e que eu tenha inspirado vocês a implementar isso no seu dia-a-dia, um abraço e tchau :)
Рекомендации по теме