Seu primeiro teste unitário com C#
- Gerson Reis
- 5 de jul. de 2020
- 3 min de leitura
Atualizado: 15 de jul. de 2020

Para iniciar o tema, vou explicar o que é um teste unitário com uma frase simples que li em um artigo do Dayvson Lima:
“Um teste unitário basicamente é o teste da menor parte testável de um programa, sendo ela uma função ou um método.”
Bom, se eu posso executar meu código para verificar se está funcionando, então por que eu devo escrever outro código para testar meu código? A resposta é simples.
Um teste unitário assim como qualquer outro tipo de teste de software automatizado não serve apenas para verificar se uma função específica está funcionando, mas sim para garantir que sua aplicação esteja funcionando após algumas alterações em seu fonte.
Este é dos motivos entre vários outros, porém te convencer a criar testes não é o foco deste conteúdo, objetivo é: Como você vai construir o seu primeiro teste.
Vamos lá!
Faremos uma implementação muito básica, desta forma conseguimos deixar o conteúdo mais didático e prático para quem deseja fazer seu primeiro teste.
Vamos testar a função de somar de uma calculadora, assim nosso objetivo fica bem descrito e não complicamos nossa missão com complexidade de negócios.
Direto ao ponto!
Aqui temos nossa função:

Veja que a mesma é muito simples, ela apenas pega o primeiro valor soma com o segundo e retorna o resultado!
Tendo em vista que nossa função é simples e já está pronta em poucos passos, vamos manter o foco e descobrir como podemos aplicar um teste unitário na mesma.
Para fazer testes unitários eu particularmente gosto de xUnit, porém existem outros disponíveis no mercado, mas neste material vamos usar o xUnit mesmo.
Posto isto, mãos a obra novamente! Vamos adicionar os novos pacotes Nuget ao nosso projeto de testes.
Deixando claro uma boa prática aqui, para escrever testes crie uma nova camada dedicada apenas a testes, assim conseguimos isolar o que são testes unitários do produto do cliente.

Baixe o xUnit.
Você pode optar também por criar um projeto de testes, desta forma ele já vem com todos os recursos necessários.

Tendo nossos recursos em mãos vamos codar nosso teste, veja o exemplo simples abaixo.

Sim!! Já temos um teste unitário acredite, é muito simples.
Note que nosso teste está de uma forma bem explicita, nele geramos o primeiro valor e em seguida o segundo, criamos uma variável com o nome de “resultadoEsperado” e ela serve apenas para que nosso teste fique mais didático, logo ela terá o valor 5 que é a representação da soma dos dois primeiros valores gerados.
Em seguida temos a instância da nossa calculadora, e na linha seguinte um “Assert” que é o nosso comparativo, é o momento onde nosso teste nos diz se está tudo certo ou não, então esclarecendo o último comando (Assert.Equal): “resultadoEsperado” tem o mesmo valor que o retorno da função “Somar” passando o “primeiroValor” e o “segundoValor”.
Perceba que temos uma assinatura na parte superior do método a “[Fact]”, explicando de uma forma bem genérica e rápida, é nesse momento que estamos dizendo ao xUnit que este método é um teste unitário, temos várias outras formas de dizer isto, porém hoje vamos ficar apenas com o Fact.
Bom, vamos executar nosso teste e ver se está tudo “OK”
Para isso pressione [Ctrl + r, t]
Ou procure por Test Explorer e clique em “Run ALL”

Em seguida conseguimos notar um ícone ali no topo do nosso método confirmando a execução com sucesso do nosso teste.
Bom, espero que tenha ajudado você a criar seu primeiro teste, o conteúdo é simples porém de grande importância no dia a dia de um desenvolvedor que preza pela qualidade de software. Em breve postarei mais conteúdo sobre o assunto pois ainda podemos evoluir muito a forma como fazemos estes testes, porém de primeira hora vamos permanecer assim.
Até!
Comments