Novidades do Visual Studio 2022: executando testes .NET em Linux
Em 2 artigos anteriores neste blog abordei diversas novidades envolvendo a implementação de testes com o .NET 6 e o Visual Studio 2022:
.NET 6, C# 10 e implementação de testes: novos recursos para simplificar a codificação
Novidades do Visual Studio 2022: melhorias na execução de testes
Neste novo post retomo tal esforço, abordando desta vez a possibilidade de execução de testes escritos em .NET a partir de um ambiente Linux.
O exemplo aqui demonstrado já foi disponibilizado no GitHub:
https://github.com/renatogroffe/DotNet6-WorkerService-Kafka-MongoDB-xUnit-IntegrationTests_Acoes-v2
Trata-se de uma implementação envolvendo testes de integração de um Worker Service, aplicação esta baseada em .NET 6 e na utilização de tecnologias como Apache Kafka e MongoDB. Merece destaque o código referente à linha 46, que retornará qual a distribuição em uso do sistema operacional em que os testes são executados:
Ao executar os testes sem ajustar o ambiente de execução dos mesmos teremos um resultado similar ao da imagem seguinte (em que se nota destacada em vermelho na janela Test Explorer a versão do Windows a partir da qual o Visual Studio 2022 foi acionado):
E como então executar esses testes a partir de um ambiente Linux?
Até o momento da publicação deste artigo a execução de testes em ambientes remotos à IDE como Linux ainda é considerada um recurso experimental. Para ativar essa funcionalidade será necessário utilizar uma versão Preview do Visual Studio 2022 (fiz os testes com a versão 17.1.0 Preview 4.0), acionando a opção Configure Remote Test Environments na janela Test Explorer:
Um arquivo de nome testEnvironments.json será carregado dentro do Visual Studio, bastando para isto configurar em que local está o ambiente remoto na seção environments. Dentre as opções disponíveis temos WSL ou até a possibilidade de empregar containers Docker. Optei por essa segunda alternativa, especificando a imagem do SDK para a versão 6.0.101 do .NET 6 (que foi previamente baixada via comando docker pull):
Maiores detalhes sobre esta nova capacidade podem ser encontrados no link:
Remote Testing in Visual Studio (experimental preview) | Microsoft Docs
Aparecerá após estes ajustes uma lista na janela Test Explorer com as opções < Local Test Environment > e Docker dotnet/sdk. Selecionarei a segunda alternativa (Docker dotnet/sdk):
Uma nova execução dos testes mostrará agora que os mesmos foram processados a partir de um ambiente Linux, como destacado na próxima imagem:
Demonstrei também essa e outras novidades envolvendo testes com .NET 6, C# 10 e Visual Studio 2022 em um evento online gratuito recentemente no Canal .NET; a partir de 1:17:25 do vídeo a seguir abordo a execução de testes em ambientes Linux:
E finalizo este artigo com um convite…
Dia 02/02/2022 (quarta) às 21:00 — horário de Brasília — teremos mais um evento online e gratuito no canal Canal .NET.
Nesta live discutiremos como acelerar o desenvolvimento de Microservices cloud native, utilizando para isso a plataforma da DevPrime e com deployments no Kubernetes!
Palestrantes:
- Ramon Durães — CEO DevPrime
- Álvaro Valle — Gerente de Pesquisa e Desenvolvimento — DevPrimePara participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube: