A Microsoft atualizou sua estrutura de testes MSTest para .NET, aprimorando-a com suporte WinUI e práticas recomendadas para analisadores de código baseados em Roslyn.
A empresa anunciou o MSTest 3.4 em 5 de junho. A estrutura MSTest pode ser acessada via NuGet.
Com o MSTest 3.4, o suporte para aplicativos de estrutura WinUI foi adicionado ao MSTest.Runner. Com esta melhoria, um exemplo de projeto é oferecido e o trabalho está em andamento para simplificar os testes de aplicativos WinUI não empacotados. A Microsoft também melhorou o desempenho do executor de testes usando System.Text.Json
para .NET em vez de Jsonite e armazenando em cache opções de linha de comando.
Para MSTest.Analyzers, um conjunto de analisadores de código para a plataforma do compilador Roslyn que acompanha o MSTest, a Microsoft adicionou nove regras para cobrir práticas recomendadas e armadilhas comuns. As regras destinam-se a garantir o uso correto de asserções e atributos, ajudar a impor preferências de design e oferecer outras melhorias.
Também no MSTest 3.4, a Microsoft corrigiu uma solicitação de longa data para oferecer suporte a threads STA no MSTest para VSTest e MSTest.Runner para todas as estruturas de destino suportadas. Os planos exigem melhorar a experiência com alguns testes específicos ou classes de teste executadas no modo thread STA. A Microsoft também introduziu a capacidade de definir tempos limite em métodos de fixação, como AssemblyInitiative
, AssemblyCleanup
, ClassCleanup
e TestCleanup
. Isso fornece mais controle sobre a execução do teste.
A Microsoft também adicionou (Timeout)
suporte para todos os métodos de fixture no MSTest 3.4, incluindo métodos de inicialização e limpeza. Também foi adicionado suporte a thread STA para testes de UI. Ambos foram problemas relatados por usuários e pela comunidade. Os testes com Playwright e Aspire foram simplificados com a remoção do padrão do projeto. E para o MSTest SDK, os desenvolvedores não precisam mais adicionar explicitamente using Microsoft VisualStudio.TestTools.UnitTesting
em arquivos. Além disso, projetos de amostra que ilustram como usar o SDK foram aprimorados.