Esaminare il supporto di Visual Studio Code per i test unitari

Completato

Prima di poter generare unit test con GitHub Copilot, il progetto richiede un framework di test funzionante e un modo per eseguire i test all'interno di Visual Studio Code. Visual Studio Code, l'SDK di .NET e l'estensione C# Dev Kit forniscono l'ambiente che ospita gli unit test, mentre GitHub Copilot è incentrato sulla generazione e l'affinamento del codice di test. La comprensione dell'ambiente sottostante rende il flusso di lavoro GitHub Copilot molto più semplice da seguire.

Questa unità esamina le funzionalità di Visual Studio Code e gli strumenti C# che supportano unit test. Le unità successive sono incentrate sul modo in cui GitHub Copilot genera e gestisce il codice di test eseguito in questo ambiente.

Supporto di Visual Studio Code per i test unitari

Per creare ed eseguire unit test C# in Visual Studio Code, sono necessarie le risorse seguenti:

  • .NET 8.0 SDK o versione successiva.
  • L'estensione C# Dev Kit per Visual Studio Code.
  • Pacchetto del framework di test aggiunto al progetto.

Supporto di C# Dev Kit per unit test

L'estensione C# Dev Kit fornisce le funzionalità di test usate in questo modulo:

  • Esplora test: visualizzazione albero che mostra tutti i test case nell'area di lavoro. È possibile aprire Esplora test selezionando l'icona del beaker sulla barra attività.
  • Eseguire/eseguire il debug dei casi di test: nell'editor compaiono pulsanti Play verdi accanto a ogni classe e metodo di test. Fare clic con il pulsante destro del mouse su un pulsante di riproduzione per visualizzare altre opzioni.
  • Visualizzare i risultati dei test: dopo l'esecuzione di un test, il risultato si riflette nelle decorazioni dell'editor e in Esplora test. La selezione di un collegamento in un'analisi dello stack consente di passare al percorso di origine.
  • Comandi di test: comandi come Test: Run All Tests sono disponibili nella Palette dei comandi. Cerca Test: per visualizzare l'elenco completo.
  • Impostazioni di test: le impostazioni che controllano l'individuazione dei test e il comportamento di runtime sono disponibili nell'editor impostazioni. Cerca Testing per visualizzare le opzioni disponibili.

C# Dev Kit supporta i framework di test seguenti:

  • xUnit
  • NUnit
  • MSTest

Creare un progetto di test usando il riquadro comandi

Il riquadro comandi in Visual Studio Code offre il modo più semplice per creare un progetto di test che usa un framework supportato. È possibile aprire il riquadro comandi nei modi seguenti:

  • Premere Ctrl + Shift + P tasti (Windows/Linux)) o Cmd + Shift + P (macOS).
  • Aprire il menu Visualizza e quindi selezionare Riquadro comandi.
  • Aprire la visualizzazione Esplora soluzioni, fare clic con il pulsante destro del mouse sulla cartella della soluzione e quindi selezionare Nuovo progetto. Questa opzione apre il riquadro comandi con il .NET: Nuovo Project... comando già selezionato.

Le sezioni seguenti illustrano come creare un progetto di test per ogni framework supportato.

xUnit

Aprire il riquadro comandi e selezionare .NET: Nuovo Project... , selezionare xUnit Test Project e quindi specificare un nome e una posizione per il nuovo project. Questo comando crea un progetto che usa xUnit come libreria di test e configura il test runner aggiungendo gli elementi seguenti <PackageReference /> al file di progetto:

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

Dal terminale integrato è possibile aggiungere un riferimento dal progetto di test al progetto sottoposto a test:

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

NUnit

Aprire il riquadro comandi e selezionare .NET: Nuovo Project... , selezionare NUnit3 Test Project e quindi specificare un nome e una posizione per il nuovo project. Questo comando crea un progetto che usa NUnit come libreria di test e aggiunge gli elementi seguenti <PackageReference /> al file di progetto:

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

Aggiungere un riferimento al progetto sottoposto a test dal terminale:

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

MSTest

Aprire il riquadro comandi e selezionare .NET: Nuovo Project... , selezionare MSTest Test Project e quindi specificare un nome e una posizione per il nuovo project. Questo comando aggiunge gli elementi seguenti <PackageReference /> al file di progetto:

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

Aggiungere un riferimento al progetto sottoposto a test dal terminale:

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

Eseguire e gestire unit test in Visual Studio Code

Dopo l'esistenza di un progetto di test, Visual Studio Code e C# Dev Kit offrono diversi modi per eseguire e gestire i test:

  • Esegui/Esegui il debug dall'editor: selezionare il pulsante verde di esecuzione accanto a una classe o a un metodo per eseguire l'elemento corrispondente. Fare clic con il pulsante destro del mouse sul pulsante Play per visualizzare opzioni come Esegui test e Debug test.
  • Esplora test: esegui o sottoponi a debug singoli test, gruppi o l'intera suite dalla visualizzazione ad albero. I risultati dei test, incluse le icone e le durate pass/fail, vengono visualizzati accanto a ogni elemento.
  • Visualizzare i risultati dei test: le decorazioni dell'editor e Esplora test riflettono entrambi lo stato corrente di ogni test dopo un'esecuzione. Seleziona i collegamenti nelle stack trace per passare direttamente alla riga che ha causato l'errore.
  • Comandi di test: usare comandi come Test: Run All Tests, Test: Debug Failed Tests e Test: Show Output dal Riquadro comandi.
  • Impostazioni di test: cercare Testing nell'editor impostazioni per configurare il comportamento, ad esempio l'esecuzione automatica in caso di formattazione dei risultati del salvataggio o del test.

Flusso di lavoro di unit test con GitHub Copilot

Quando si combinano Visual Studio Code con GitHub Copilot, il processo di unit test si suddivide in tre fasi:

  1. Impostare l'ambiente: usare Visual Studio Code, .NET SDK e C# Dev Kit per creare un progetto di test e fare riferimento al progetto sottoposto a test. Hai completato questa fase di questa unità.
  2. Generare il codice di test: usare GitHub Copilot nella visualizzazione Chat per generare unit test per il codice dell'applicazione. Le unità successive illustrano questa fase.
  3. Eseguire e gestire i test: usare Esplora test e C# Dev Kit per eseguire i test, quindi usare GitHub Copilot per estendere la copertura e correggere i test non superati.

Le unità rimanenti si concentrano sugli strumenti GitHub Copilot che supportano le fasi 2 e 3.