Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste tópico, fornecemos algumas recomendações sobre como testar e validar a funcionalidade em aplicativos criados com o SDK de Aplicativos Windows usando recursos de interface do usuário (UI) da Biblioteca de Interface do Usuário do Windows (WinUI).
Como faço para testar a funcionalidade WinUI no meu aplicativo?
A maioria dos tipos de objeto nos namespaces Microsoft.UI.Xaml deve ser usada a partir de um thread de interface do usuário em um processo de aplicativo Xaml. (Para obter detalhes sobre como testar aplicativos criados com o SDK de Aplicativos do Windows que não usam WinUI, consulte a seção a seguir, Como faço para testar a funcionalidade não-WinUI em meu aplicativo?.)
As etapas a seguir descrevem como usar o Visual Studio para testar o código que depende de tipos Microsoft.UI.Xaml e executa no contexto de um aplicativo Xaml:
Crie um projeto de teste de unidade na mesma solução do aplicativo que você deseja testar. (Isso usa MSTest para executar o código de teste e inicializará uma janela Xaml e um thread de interface do usuário Xaml.)
Clique com o botão direito do mouse na solução no Gerenciador de Soluções, selecione Adicionar -> Novo Projeto no menu de contexto e escolha Aplicativo de Teste de Unidade (WinUI 3 na Área de Trabalho) para C# ou Aplicativo de Teste de Unidade (WinUI 3) para C++.
Marque seus métodos de teste com o atributo
[UITestMethod]
em vez do atributo padrão[TestMethod]
para garantir que eles sejam executados no thread da interface do usuário.
Observação
Recomendamos que você refatore qualquer código a ser testado retirando-o do projeto de aplicativo principal e colocando-o em um projeto de biblioteca. O projeto de aplicativo e o projeto de teste de unidade podem fazer referência a esse projeto de biblioteca.
Consulte Testes de unidade para aplicativos WinUI (Biblioteca de Interface do Usuário do Windows) no Visual Studio para obter um exemplo de como usar esse projeto de teste.
Como faço para testar a funcionalidade não-WinUI no meu aplicativo?
Em muitos casos, um aplicativo inclui funcionalidade que não depende dos tipos Microsoft.UI.Xaml, mas ainda precisa de testes. Várias ferramentas estão disponíveis para testar o código .NET, incluindo MSTest, NUnit e xUnit. Para obter mais detalhes sobre como testar aplicativos .NET, consulte Testando no .NET.
No Visual Studio, você pode criar um novo projeto para qualquer uma dessas ferramentas de teste clicando com o botão direito do mouse em sua solução no Gerenciador de Soluções, selecionando Adicionar -> Novo Projeto no menu de contexto, escolhendo C# no seletor Todos os idiomas /Windows no seletor Todos os idiomas /Teste no seletor Todos os tipos de projeto e, em seguida, escolhendo a ferramenta de teste apropriada na lista (Projeto de Teste MSTest, Projeto de Teste NUnit ou Projeto de Teste xUnit).
Ao criar um novo projeto MSTest, NUnit ou xUnit que faz referência a um projeto WinUI, você deve:
Atualize o
TargetFramework
no arquivo .csproj do seu projeto de teste. Esse valor deve corresponder aoTargetFramework
no projeto WinUI (). Por padrão, os projetos MSTest, NUnit e xUnit destinam-se a toda a gama de plataformas suportadas pelo .NET, mas um projeto WinUI só oferece suporte ao Windows e tem um TargetFramework mais específico.Por exemplo, se o destino for .NET 8, atualize o TargetFramework do projeto de teste de unidade de
<TargetFramework>net8.0</TargetFramework>
para<TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
.Atualize os RuntimeIdentifiers em seu projeto de teste.
<RuntimeIdentifiers Condition="$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)')) >= 8">win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<RuntimeIdentifiers Condition="$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)')) < 8">win10-x86;win10-x64;win10-arm64</RuntimeIdentifiers>
Adicione a seguinte propriedade ao
PropertyGroup
arquivo .csproj in do seu projeto de teste para garantir que o teste carregue o tempo de execução do WinAppSDK:<WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize>
Verifique se o tempo de execução do SDK de Aplicativos Windows está instalado no computador que executa o teste. Para obter mais informações sobre a implantação do Windows App SDK, consulte Guia de implantação do SDK do Aplicativo Windows para aplicativos dependentes de estrutura empacotados com localização externa ou não empacotados.
Windows developer