Esaminare gli strumenti e l'ambiente di unit test
GitHub Copilot Chat può essere usato per suggerire unit test in base al codice specificato. Ad esempio, se si specifica una firma e un corpo del metodo, GitHub Copilot Chat può suggerire test case che coprono i parametri di input e i valori di output previsti. Dopo che il progetto di test contiene alcuni test case, è possibile usare GitHub Copilot per generare suggerimenti di completamento del codice per altri test case. L'uso dei completamenti della riga di codice per generare unit test riduce il processo ripetitivo e consente di assicurarsi che il codice venga testato accuratamente.
GitHub Copilot Chat usa il contesto e la semantica del codice per suggerire asserzioni che assicurano che la funzione funzioni correttamente. Consente anche di scrivere test case per casi perimetrali e condizioni limite che potrebbero essere difficili da identificare manualmente. Ad esempio, GitHub Copilot Chat può suggerire test case per la gestione degli errori, valori Null o tipi di input imprevisti.
Importante
I test case generati potrebbero non coprire tutti gli scenari possibili. I test manuali e le revisioni del codice sono necessari per garantire la qualità del codice.
Supporto di GitHub Copilot per i test unitari
GitHub Copilot può essere utile per le attività di test seguenti:
- Configurare i framework di test: consente di configurare il framework di test corretto e le estensioni di VS Code per il progetto e il linguaggio.
- Generare codice di test: creare unit test, test di integrazione e test end-to-end che coprono il codice dell'applicazione.
- Gestire i casi perimetrali: generare gruppi di test completi per coprire i casi limite e le condizioni di errore.
- Correzione dei test non superati: ricevere suggerimenti per la correzione degli errori di test.
- Mantenere la coerenza: personalizzare GitHub Copilot per generare test che seguono le procedure di codifica del progetto.
Configurare il framework di test
Per accelerare il flusso di lavoro di test, GitHub Copilot può aiutare a configurare il framework di test e le estensioni di VS Code per il progetto. GitHub Copilot suggerisce framework di test appropriati in base al tipo di progetto.
Aprire la visualizzazione Chat.
Immettere il
/setupTestscomando nel campo di input della chat.Seguire le indicazioni di GitHub Copilot per configurare il progetto.
Scrivere unit test con GitHub Copilot
GitHub Copilot consente di scrivere test per il codice dell'applicazione generando codice di test che copre la codebase. Sono inclusi unit test, test end-to-end e test per i casi limite.
È possibile generare unit test usando gli strumenti di GitHub Copilot seguenti:
- Visualizzazione chat: usare la visualizzazione Chat per generare unit test per un progetto, una classe o un metodo usando Ask, Plan o Agent.
- Chat inline: usare Chat inline per generare unit test per classi o metodi selezionati.
- Azioni intelligenti: usare l'azione genera test intelligenti per generare unit test per il codice selezionato senza scrivere una richiesta.
- Completamenti di riga di codice: usare i completamenti di riga di codice per suggerire unit test aggiuntivi per un test case esistente.
Correzione dei test non superati
GitHub Copilot si integra con Esplora test in Visual Studio Code e consente di correggere i test non superati.
Nel Test Explorer, spostare il puntatore del mouse su un test con esito negativo.
Selezionare il pulsante Correggi errore test (icona sparkle)
Rivedere e applicare la correzione suggerita di GitHub Copilot.
In alternativa è possibile:
Aprire la visualizzazione Chat.
Immettere il
/fixTestFailurecomando slash.Seguire i suggerimenti di GitHub Copilot per correggere il test
Suggerimento
Quando si usa GitHub Copilot in modalità Agent, l'agente monitora l'output del test durante l'esecuzione dei test e tenta automaticamente di correggere ed eseguire nuovamente i test non superati.
Mantenere la coerenza
Se l'organizzazione ha requisiti di test specifici, è possibile personalizzare il modo in cui GitHub Copilot genera test per assicurarsi che soddisfino gli standard. È possibile personalizzare il modo in cui GitHub Copilot genera i test fornendo istruzioni personalizzate. Per esempio:
- Specificare i framework di test preferiti
- Definire le convenzioni di denominazione per i test
- Impostare le preferenze della struttura del codice
- Richiedere modelli o metodologie di test specifici
Supporto Visual Studio Code per unit test
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 per Visual Studio Code offre un set completo di funzionalità che consentono di creare e gestire unit test per i progetti C#. Include le seguenti funzionalità:
- Esplora test: una visualizzazione albero per visualizzare tutti i test case nell'area di lavoro.
- Test case di esecuzione/debug: funzionalità per l'esecuzione e il debug dei test case.
- Visualizza i risultati dei test: funzionalità per visualizzare i risultati del test.
- Test dei comandi: comandi per eseguire tutti i test, eseguire test non riusciti e altro ancora.
- Impostazioni di test: impostazioni specifiche per i test.
- Pacchetto del framework di test
C# Dev Kit supporta i framework di test seguenti:
- xUnit
- NUnit
- MSTest
C# Dev Kit consente di creare un progetto di test, aggiungere un pacchetto del framework di test e gestire unit test.
Abilitazione di un framework di test
Il riquadro comandi in Visual Studio Code offre il modo più semplice per abilitare un framework di test per il progetto. È 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 Solution Explorer, 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 progetto... comando già selezionato.
Le sezioni seguenti descrivono come abilitare un framework di test per il progetto C# usando il riquadro comandi.
xUnit
Aprire il riquadro comandi e selezionare .NET:Nuovo progetto... quindi selezionare xUnit Test Project e specificare il nome e la posizione per il nuovo progetto. Questo comando crea un nuovo progetto e una nuova directory che usa xUnit come libreria di test e configura lo strumento di esecuzione test aggiungendo gli elementi seguenti <PackageReference /> al file di progetto.
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
Dal terminale è possibile eseguire il comando seguente:
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 progetto... quindi selezionare NUnit3 Test Project e specificare nome e posizione per il nuovo progetto. Questo comando crea un nuovo progetto e una nuova directory che usa NUnit come libreria di test e configura lo strumento di esecuzione test aggiungendo gli elementi seguenti <PackageReference /> al file di progetto.
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
Eseguire il comando seguente 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 progetto... quindi selezionare MSTest Test Project e specificare il nome e la posizione per il nuovo progetto. Questo comando crea un nuovo progetto e una nuova directory che usa MSTest come libreria di test e configura lo strumento di esecuzione test aggiungendo gli elementi seguenti <PackageReference /> al file di progetto.
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
Eseguire il comando seguente dal terminale:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
Sviluppare unit test in Visual Studio Code usando GitHub Copilot Chat
La combinazione di Visual Studio Code e GitHub Copilot Chat offre un ambiente potente per la creazione e l'esecuzione di unit test per i progetti C#.
Il processo di unit test può essere suddiviso in tre fasi:
- Usare Visual Studio Code per creare un progetto di test per gli unit test.
- Usare GitHub Copilot Chat per sviluppare unit test case per il progetto C#.
- Usare Visual Studio Code e C# Dev Kit per eseguire e gestire gli unit test.
Creare un progetto di test
È necessario creare un progetto di test che verrà usato per contenere gli unit test. È possibile usare Visual Studio Code per completare le attività seguenti:
Usare il riquadro comandi per creare un progetto di test che usa un framework di test specificato.
Usare il terminale integrato per aggiungere un riferimento al progetto che si sta testando.
Questo processo crea un nuovo progetto e configura il test runner per il framework selezionato.
Genera casi di test unitari usando GitHub Copilot Chat
GitHub Copilot Chat può essere usato per scrivere unit test case per il framework di test. GitHub Copilot Chat riconosce il framework di test e lo stile di codifica e genera frammenti di codice corrispondenti. È possibile usare GitHub Copilot Chat per completare le attività seguenti:
Scrivere unit test case per il framework di test in base al codice aperto nell'editor o al frammento di codice evidenziato nell'editor. GitHub Copilot identifica il framework di test e lo stile di codifica e genera frammenti di codice corrispondenti.
Identificare e scrivere test case per casi perimetrali e condizioni limite che potrebbero essere difficili da identificare manualmente. Ad esempio, GitHub Copilot può suggerire test case per la gestione degli errori, i valori Null o i tipi di input imprevisti.
Suggerire asserzioni che assicurano che la funzione funzioni correttamente, in base al contesto e alla semantica del codice. Ad esempio, generare asserzioni per assicurarsi che i parametri di input della funzione siano validi.
Quando si chiede GitHub Copilot Chat di generare unit test case, prendere in considerazione gli scenari seguenti:
Se un singolo metodo è visibile completamente nell'editor, è possibile chiedere GitHub Copilot Chat di generare uno unit test per il metodo digitando
Write a unit test for the method in the #editor.Se sono presenti più metodi visibili o il metodo previsto si estende oltre ciò che è visibile nell'editor, selezionare il codice per cui si vuole generare uno unit test, quindi chiedere GitHub Copilot:
#selection write a unit test for the selected code.
Eseguire e gestire unit test in Visual Studio Code
Visual Studio Code e C# Dev Kit offrono un set completo di funzionalità che consentono di eseguire e gestire unit test per i progetti C#. È possibile eseguire/eseguire il debug di test case, visualizzare i risultati dei test e gestire i test case usando Esplora test.
Eseguire/eseguire il debug di test case: C# Dev Kit genera collegamenti (pulsante di riproduzione verde) sul lato sinistro della definizione della classe e del metodo. Per eseguire i test case di destinazione, selezionare il pulsante di riproduzione verde. È anche possibile fare clic con il pulsante destro del mouse su di esso per visualizzare altre opzioni.
Esplora test: Esplora test è una visualizzazione albero per visualizzare tutti i test case nell'area di lavoro. È possibile selezionare il pulsante beaker sulla barra attività a sinistra di Visual Studio Code per aprirlo. È anche possibile eseguire/eseguire il debug dei test case e visualizzare i risultati dei test da questa posizione.
Visualizzare i risultati dei test: dopo l'esecuzione o il debug dei test case, lo stato degli elementi di test correlati viene aggiornato sia nelle decorazioni dell'editor che nell'Editor elenco dei test. È possibile selezionare i collegamenti nell'analisi dello stack per passare al percorso di origine.
Visual Studio Code comandi di test: sono disponibili comandi di test (ad esempio, Esegui tutti i test) che è possibile trovare cercando Test: nel riquadro comandi.
Visual Studio Code impostazioni di test: sono disponibili Visual Studio Code impostazioni specifiche per i test cercando Test nell'editor delle impostazioni.
Riepilogo
GitHub Copilot Chat può essere usato per suggerire unit test in base al codice specificato. Ad esempio, se si specifica una firma e un corpo del metodo, GitHub Copilot Chat può suggerire test case che coprono i parametri di input e i valori di output previsti. Dopo che il progetto di test contiene alcuni test case, è possibile usare GitHub Copilot per generare suggerimenti di completamento del codice per altri test case. L'uso dei completamenti della riga di codice per generare unit test riduce il processo ripetitivo e consente di assicurarsi che il codice venga testato accuratamente.
GitHub Copilot Chat usa il contesto e la semantica del codice per suggerire asserzioni che assicurano che la funzione funzioni correttamente. Consente anche di scrivere test case per casi perimetrali e condizioni limite che potrebbero essere difficili da identificare manualmente. Ad esempio, GitHub Copilot Chat può suggerire test case per la gestione degli errori, valori Null o tipi di input imprevisti.