Novidades do Visual Studio 2022: executando testes .NET em Linux

Renato Groffe
3 min readJan 31, 2022

--

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 — DevPrime

Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube:

https://bit.ly/live-arq-microservices-devprime

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

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

No responses yet