Automatizando Testes de Integração: um exemplo com Azure DevOps, PostgreSQL, Postman e .NET 7
Na imagem do início deste post temos um exemplo de execução de um pipeline do Azure DevOps que implementei para automação de testes (com Postman + Newman) de uma API REST criada com .NET 7 + ASP.NET Core e que utiliza PostgreSQL (em um container Docker) + Migrations do Entity Framework Core. Esse exemplo também inclui a geração de um relatório HTML com os resultados dos testes.
Demonstrei esta solução (além de outros 2 exemplos com SQL Server e MySQL) em uma live recente do Canal .NET. A gravação pode ser assistida no YouTube:
Disponibilizei este pipeline no meu GitHub:
Caso achem útil a solução, peço por favor um ⭐️ no repositório do GitHub apoiando. Fica também o convite para que vocês me sigam lá!
O código desse pipeline está na listagem a seguir:
Podemos destacar alguns pontos neste pipeline:
- A utilização de um virtual environment baseado em Linux (Ubuntu 22.04 — linhas 17, 35 e 36), o qual conta com dezenas de ferramentas pré-instaladas (casos do psql, do Newman/Postman e do runtime Docker);
- Um container do PostgreSQL teve suas configurações declaradas nas linhas 4 a 13, com seu uso habilitado nas linhas 37 e 38;
- A instalação das Entity Framework Core Tools (linhas 74 a 80) e posterior execução das Migrations (linhas 81 a 85);
- As linhas 95 a 101 envolvem a instalação de pacotes complementares do Postman/Newman para a geração dos relatórios com resultados, com as linhas 102 a 106 executando o Newman via comando npx;
- O uso da ferramenta de linha de comando psql (linhas 112 a 114) para a execução de uma consulta às informações geradas pelos testes. Tais dados foram obtidos por meio de funcionalidades do Postman que permitem a produção de dados fake.
O repositório com a aplicação e os testes gerados via Postman podem ser acessados através do link:
Caso achem útil este exemplo, peço por favor um ⭐️ no repositório do GitHub apoiando. Fica novamente o convite para que vocês me sigam lá!