Examinar o suporte do Visual Studio Code para testes unitários

Concluído

Antes de gerar testes de unidade com GitHub Copilot, seu projeto precisa de uma estrutura de teste de trabalho e uma maneira de executar testes dentro de Visual Studio Code. Visual Studio Code, o SDK do .NET e a extensão do Kit de Desenvolvimento em C# fornecem o ambiente que hospeda os testes de unidade, enquanto GitHub Copilot se concentra em gerar e refinar o código de teste. Entender o ambiente subjacente torna o fluxo de trabalho GitHub Copilot muito mais fácil de seguir.

Esta unidade examina os recursos de Visual Studio Code e as ferramentas C# que dão suporte ao teste de unidade. As unidades posteriores se concentram em como GitHub Copilot gera e mantém o código de teste executado nesse ambiente.

Suporte do Visual Studio Code para testes de unidade

Para criar e executar testes de unidade em C# no Visual Studio Code, você precisa dos seguintes recursos:

  • O .NET SDK 8.0 ou posterior.
  • A extensão do Kit de Desenvolvimento do C# para Visual Studio Code.
  • Um pacote de estrutura de teste adicionado ao seu projeto.

Suporte ao Kit de Desenvolvimento em C# para testes de unidade

A extensão do Kit de Desenvolvimento do C# fornece os recursos de teste que você usa ao longo deste módulo:

  • Gerenciador de Testes: uma exibição de árvore que mostra todos os casos de teste em seu workspace. Você pode abrir o Gerenciador de Testes selecionando o ícone de béquer na barra de atividades.
  • Executar/depurar casos de teste: botões verdes de execução aparecem no editor ao lado de cada classe e método de teste. Clique com o botão direito do mouse em um botão reproduzir para ver mais opções.
  • Exibir os resultados do teste: após uma execução de teste, o resultado é refletido nas decorações do editor e no Gerenciador de Testes. Selecionar um link em um rastreamento de pilha navega até o local de origem.
  • Comandos de teste: comandos como Test: Run All Tests estão disponíveis na Paleta de Comandos. Pesquise por Test: para ver a lista completa.
  • Configurações de teste: as configurações que controlam a descoberta de teste e o comportamento de runtime estão disponíveis no editor de Configurações. Pesquise por Testing para ver as opções disponíveis.

O Kit de Desenvolvimento em C# dá suporte às seguintes estruturas de teste:

  • xUnit
  • NUnit
  • MSTest

Criar um projeto de teste usando a Paleta de Comandos

A Paleta de Comandos em Visual Studio Code fornece a maneira mais fácil de criar um projeto de teste que usa uma estrutura com suporte. Você pode abrir a paleta de comandos das seguintes maneiras:

  • Pressione as teclas Ctrl + Shift + P (Windows/Linux) ou Cmd + Shift + P (macOS).
  • Abra o menu Exibir e selecione Paleta de comandos.
  • Abra a exibição Gerenciador de Soluções, clique com o botão direito do mouse na pasta da solução e selecione New Project. Essa opção abre a Paleta de Comandos com o comando .NET: Novo Projeto... já selecionado.

As seções a seguir mostram como criar um projeto de teste para cada estrutura com suporte.

xUnit

Abra a Paleta de Comandos e selecione .NET: Novo Project... , selecione xUnit Test Project e forneça um nome e um local para o novo project. Esse comando cria um projeto que usa xUnit como a biblioteca de teste e configura o executor de teste adicionando os seguintes <PackageReference /> elementos ao arquivo de projeto:

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

No Terminal integrado, você pode adicionar uma referência do projeto de teste ao projeto em teste:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

NUnit

Abra a Paleta de Comandos e selecione .NET: Novo Project... , selecione NUnit3 Test Project e forneça um nome e um local para o novo project. Esse comando cria um projeto que usa o NUnit como a biblioteca de teste e adiciona os seguintes <PackageReference /> elementos ao arquivo de projeto:

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

Adicione uma referência ao projeto em teste no Terminal:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

MSTest

Abra a Paleta de Comandos e selecione .NET: Novo Project... , selecione MSTest Test Project e forneça um nome e um local para o novo project. Este comando adiciona os seguintes <PackageReference /> elementos ao arquivo de projeto:

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

Adicione uma referência ao projeto em teste no Terminal:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Executar e gerenciar testes de unidade no Visual Studio Code

Depois que um projeto de teste existir, Visual Studio Code e o Kit de Desenvolvimento do C# oferecem várias maneiras de executar e gerenciar testes:

  • Executar/Depurar no editor: selecione o botão verde de execução ao lado de uma classe ou método para executar esse item. Clique com o botão direito do mouse no botão Reproduzir para ver opções como Executar Teste e Depurar Teste.
  • Explorador de Testes: execute ou depure testes individuais, grupos ou a suíte completa na exibição em árvore. Os resultados do teste, incluindo ícones de aprovação/falha e durações, aparecem ao lado de cada item.
  • Exibir os resultados do teste: as decorações do editor e o Gerenciador de Testes refletem o estado atual de cada teste após uma execução. Selecione links em rastreamentos de pilha para ir para a linha com falha.
  • Comandos de teste: use comandos como Test: Run All Tests, Test: Debug Failed Testse Test: Show Output da Paleta de Comandos.
  • Configurações de teste: pesquise Testing no editor de Configurações para configurar o comportamento, como a execução automática na formatação de resultados de salvamento ou teste.

O fluxo de trabalho de testes unitários com GitHub Copilot

Quando você combina Visual Studio Code com GitHub Copilot, o processo de teste de unidade é dividido em três estágios:

  1. Configure o ambiente: use o Visual Studio Code, o SDK do .NET e o C# Dev Kit para criar um projeto de teste e referenciar o projeto em teste. Você concluiu este estágio nesta unidade.
  2. Gerar código de teste: Use o GitHub Copilot na exibição de Chat para gerar testes de unidade para o código do seu aplicativo. As próximas unidades abrangem esse estágio.
  3. Executar e manter testes: use o Explorador de Testes e o C# Dev Kit para executar testes e, em seguida, use o GitHub Copilot para ampliar a cobertura e corrigir testes com falha.

As unidades restantes se concentram nas ferramentas de GitHub Copilot que dão suporte aos estágios 2 e 3.