Condividi tramite


Panoramica dei test di GitHub Copilot per .NET

Il test di GitHub Copilot per .NET è una nuova funzionalità in GitHub Copilot Chat integrata in Visual Studio. Questa funzionalità automatizza la creazione, l'esecuzione e il test del codice C# per interi progetti, soluzioni, file, classi o membri. È progettato per gli sviluppatori C# che vogliono avviare velocemente una copertura completa dei casi di test senza dover scrivere manualmente ogni test case. I test di GitHub Copilot possono generare test per framework di test xUnit, NUnit e MSTest.

A differenza dei suggerimenti di Copilot di breve durata, i test di GitHub Copilot per .NET offrono un'esperienza guidata e a esecuzione prolungata per la generazione e la gestione dei test nella codebase.

Prerequisiti

  • Compilazione di Visual Studio 2026 Insider

  • Progetto C#

  • Accedere a Visual Studio usando un account GitHub con accesso a Copilot

    I test di GitHub Copilot funzionano con qualsiasi sottoscrizione di GitHub Copilot attiva, inclusi i piani individuali e aziendali. Anche se alcune funzionalità possono essere disponibili con una licenza copilot gratuita, i limiti di utilizzo e la limitazione dei token possono essere applicati, soprattutto per soluzioni più grandi o sessioni estese. Questi limiti vengono applicati da GitHub e possono influire sulle prestazioni o sulla disponibilità.

Suggerimento

Per un'esperienza ottimale, è consigliabile usare una sottoscrizione di Copilot a pagamento per evitare potenziali limitazioni e garantire un accesso coerente.

Operazioni che possono essere eseguite dai test di GitHub Copilot

Quando si abilita questa funzionalità, i test di GitHub Copilot interagiscono con la soluzione in diversi modi per generare e convalidare i test:

  • Leggere: Copilot analizza il codice sorgente e la struttura del progetto per comprendere il contesto e le dipendenze.
  • Scrivi: Crea o aggiorna i file di test all'interno della tua soluzione in base ai suggerimenti.
  • Costruire: Lo strumento attiva le compilazioni per compilare il codice e verificare che i test generati si integrino correttamente.
  • Eseguire: Esegue test per confermare che siano superati, e fornire feedback sulla copertura e sulla qualità.

Importante

Il test di Copilot non modifica il codice di produzione all'esterno del processo di generazione dei test. Tutte le modifiche si verificano all'interno dell'ambiente di sviluppo locale e si mantiene il controllo completo per esaminare, accettare o rimuovere suggerimenti.

Perché usare i test di GitHub Copilot per .NET?

Il test di Copilot di GitHub per .NET offre un'esperienza completa rispetto alle funzionalità di copilot più di base correlate alla generazione di test ( ad esempio il /tests comando ). La funzionalità di unit test in GitHub Copilot per .NET offre quanto segue:

  • Efficienza: Generare, compilare ed eseguire unit test C# automaticamente per progetti o soluzioni di grandi o piccole dimensioni.
  • Consistenza: Assicurarsi che i test seguano le procedure consigliate e gli standard di progetto. I test vengono creati in un progetto di test separato nella soluzione e vengono generati usando i framework xUnit, NUnit e MSTest. Se la soluzione include già unit test in NUnit o xUnit, i test di GitHub Copilot per .NET generano nuovi test nello stesso framework di unit test. Se nella soluzione non sono presenti unit test, i nuovi test vengono generati usando MSTest.
  • Integrazione: Funziona senza problemi all'interno di Visual Studio, sfruttando le funzionalità di intelligenza artificiale di Copilot.
  • Prevedibilità: Copilot genera test in modo deterministico, basati sulla semantica del linguaggio e del compilatore C#, quindi le asserzioni e i casi limite sono prevedibili e sicuri rispetto ai tipi.

Funzionalità principali

  • Generazione di test automatizzata: Creare test per singoli file, più file in un singolo progetto o intere soluzioni.
  • Interazione basata su comandi: Usare i comandi e i parametri supportati (elencati nel messaggio all'interno del /help test di GitHub Copilot).
  • Prompt strutturati: Le richieste in formato libero non sono attualmente supportate, garantendo un output prevedibile e affidabile.

Avviso di sicurezza

Quando si esegue per la prima volta il test di GitHub Copilot per .NET, Copilot richiede il consenso per eseguire il codice generato da LLM nel computer. Ciò può includere azioni come l'installazione o il ripristino di pacchetti NuGet e l'esecuzione di test. Se non si concede il consenso generale, il test di GitHub Copilot richiederà l'approvazione esplicita prima di eseguire tale operazione.

Attenzione

Il consenso concede a Copilot la possibilità di richiamare automaticamente comandi arbitrari all'interno della sessione di Visual Studio. Microsoft non può garantire la sicurezza di questi comandi. È consigliabile abilitare questa opzione solo all'interno di un ambiente in modalità sandbox ed eseguire le operazioni necessarie per limitare i privilegi disponibili per tale ambiente. Ad esempio, l'ambiente in modalità sandbox non deve usare un account connesso al cloud per accedere a Windows e l'ambiente in modalità sandbox non deve essere connesso a Visual Studio usando un account GitHub con privilegi con accesso in lettura a repository non pubblici o l'accesso in scrittura ai repository di produzione.

Risoluzione dei problemi

Se il comando non viene visualizzato @test in Copilot Chat, provare i passaggi seguenti:

  1. Verifica la build di Visual Studio. Assicurarsi di eseguire la build più recente di Visual Studio Insider, perché questa funzionalità è attualmente disponibile solo in Insider.

  2. Attivare o disattivare l'impostazione in Opzioni > strumenti > GitHub Copilot. Quando si disabilita e quindi si riabilita l'impostazione di test di GitHub Copilot, l'integrazione viene aggiornata.

    Screenshot delle impostazioni di test in Opzioni.

Se il @test comando non viene visualizzato in Chat e il problema persiste dopo l'attivazione/disattivazione, segnalare il problema usando Guida > Invia feedback in Visual Studio.

Passaggi successivi

Vedere Generare ed eseguire test usando i test di GitHub Copilot per .NET in Visual Studio.