Automatizando Testes de Integração: um exemplo com Azure DevOps, PostgreSQL, Postman e .NET 7

Renato Groffe
2 min readJul 31, 2023

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:

https://github.com/renatogroffe/AzureDevOps-PostgreSQL-EFCoreMigrations-Postman-Newman-DotNet7-ASPNETCore_IntegrationTests

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.04linhas 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:

https://github.com/renatogroffe/ASPNETCore7-REST_API-PostgreSQL-EFCore-Migrations-Postman_ChamadosSuporte

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á!

--

--

Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker