Branch de Referência

Compare unit_test_config com initial

Projeto de Teste

Crie um novo projeto na mesma solução do aplicativo .NET MAUI. Isso pode ser feito clicando com o botão direito do mouse na solução. 

Vá para Add New Project. Na caixa de diálogo, selecione "xUnit Test Project" e clique em Next.

Nomeie o projeto de teste e clique em Next.

Selecione o Framework e clique em Create.

O Framework deve corresponder ao projeto .NET MAUI.

Depois que o projeto é criado, ele terá uma classe padrão UnitTest1.

C#
namespace MinhaQualidadeMaui.Tests
{
  public class UnitTest1
  {
    [Fact]
    public void Test1()
    {

    }
  }
}

Ao compilar e executar o projeto de teste, ele deve passar, pois nenhuma validação foi implementada.

Este procedimento pode ser feito clicando com o botão direito do mouse no projeto de teste e selecionando "Run Tests".

Adicionando Referência

Agora, devemos adicionar uma referência ao projeto .NET MAUI que precisa de teste.

No projeto de teste, vá para Dependencies. Clique com o botão direito do mouse e selecione Add Project Reference.

Marque o check e clique em OK.


Ao acessar o arquivo de projeto do .NET MAUI (também conhecido como .csproj), aparecerá os Frameworks de destino:

XML
<TargetFrameworks>net6.0-android;net6.0-ios</TargetFrameworks>

E assim no projeto de teste:

XML
<TargetFramework>net6.0</TargetFramework>

Ao tentar compilar dessa forma o Visual Studio exibirá uma mensagem de erro, pois o projeto .NET MAUI e os Frameworks de destino do projeto de teste não estão alinhadas.

Para solucionar esse problema abra o arquivo .csproj do projeto .NET MAUI e adicione o net6.0 como destino.

XML
<TargetFrameworks>net6.0;net6.0-android;net6.0-ios</TargetFrameworks>

Também será necessário uma condição para setar o tipo de saída como Exe sempre que o Framework de destino for diferente de net6.0.

XML
<OutputType Condition="'$(TargetFramework)' != 'net6.0'">Exe</OutputType>

Recarregue o projeto .NET MAUI. Também pode ser necessário reiniciar o Visual Studio. Com tudo configurado corretamente, o projeto de teste estará apto para executar sem problemas.

  • Sem rótulos