Testes unitários no DevOps

Rodolfo dos Santos Pinto
Training Center
Published in
3 min readMay 8, 2019

Introdução

No artigo de hoje vamos demonstrar como integrar os seus testes unitários em XUnix com o Azure DevOps

Mão na Massa

Antes de começar, demostro como montar sua primeira pipeline de build no Azure DevOps passo a passo, só acessar o link https://medium.com/@rodolfostopinto97/configurando-uma-aplica%C3%A7%C3%A3o-net-core-2-2-no-azuredevops-b3b87216bb66

Foi desenvolvido um projeto que faz o calculo, utilizando as 4 operações, entre dois valores e com o objetivo de testar se todas as operações estão certas, utilizando os testes unitários.

Foi criado um projeto em XUnit para realizar os testes.

È desenvolvido teste unitário para cada operação, dessa forma garantindo que todas as regras da aplicação estejam corretas.

Rodando os testes localmente é possível visualizar que todos os testes estão corretos, agora vamos integrar com o Azure DevOps, ou sejá, quando for realizado o build da aplicação sera executado os testes de unidade para ver se está tudo certo com nossa regra de negócio.

Agora que já temos nosso projeto de testes vamos integrar com o Azure DevOps.

Acesse a pipeline de build e click em editar, note que eu já tenho um step para executar meus testes unitários.

Como estou usando o .net Core, o Azure DevOps já tem receitas pré definas para esse tipos de aplicação.

Vamos adicionar o caminho do nosso projeto de testes criado, o .csproj

Feito isso, no momento que for realizado o build da aplicação será executado os testes unitários.

Testes

Vamos começar com um teste com falha, suponhamos que foi preciso realizar uma alteração e de forma errada o código que realiza a soma passa realizar a subtração.

Ao realizar o build ele falhou justamente na etapa de testes, como o esperado!

Acesse a aba Tests para visualizar o que falhou.

É possível visualizar exatamente o teste que falhou e qual foi o problema, dessa forma conseguimos corrigi-lós, antes de chegar em produção.

Agora vamos corrigir e rodar o build novamente.

Todos os testes foram bem sucedidos garantido sempre que o código está sendo testado e que estará em um ambiente de testes/produção com essas funcionalidades já testadas, evitando surpresas para os usuários.

E cada vez mais os testes se tornam incrementais, pois se for desenvolvido uma funcionalidade nova, todos os testes já criados vão ser testados normalmente, garantindo que tudo que estava funcionando, continue funcionando.

E mais um vez, não é mágica é DevOps

--

--

Rodolfo dos Santos Pinto
Training Center

.NET Foundation | .Net Developer | Writer | Technology for Love | #Core #DevOps #Azure #NetCore