Planera och automatisera testarbetsflöden med hjälp av lägena Plan och Agent

Slutförd

I den föregående lektionen användes agentläge för att generera tester från en enda chattvisningsprompt. Större testuppgifter behöver ofta mer struktur: bestämma vad som ska testas, skapa ett testprojekt, generera tester i flera filer och köra den resulterande sviten. Planagenten och längre agentsessioner i chattvyn är utformade för den arbetsnivån. Använd planagenten för att utforma en teststrategi innan någon kod skrivs och lämna sedan den godkända planen till agenten för autonom implementering i flera steg.

Jämför agenterna Fråga, Planera och Agent

Chattvyn innehåller tre inbyggda lokala agenter. Var och en är optimerad för en annan typ av testuppgift.

Handläggare Passar bäst för Typisk användning i enhetstestning
Fråga Skrivskyddad analys och frågor och svar om din kod Utforska gränsfall, ramverksalternativ eller exempeltester innan du skriver någon kod.
Plan Strukturerade, stegvisa implementeringsplaner Utforma en teststrategi för flera filer som du kan granska före implementeringen.
Agent Autonoma arbetsflöden för kodning med flera filer Generera tester direkt till ett testprojekt, kör dem och iterera vid fel.

Välj en agent genom att välja den från agentväljaren i chattvyn. Du kan växla agenter när som helst under en session.

Important

När du använder chattvyn med agenten kan GitHub Copilot göra flera premiumbegäranden för att slutföra en enda uppgift. Premium-begäranden används av både användarinitierade uppmaningar och de uppföljningsåtgärder som agenten vidtar för din räkning. Det totala antalet premiumbegäranden som används beror på aktivitetens komplexitet, antalet steg och vilken modell du väljer.

Använda planagenten för att utforma en teststrategi

Planagenten skapar en detaljerad implementeringsplan innan någon kod skrivs. Agenten undersöker din uppgift, ställer klargörande frågor och föreslår en stegvis plan som du kan granska, förfina och lämna över till agenten.

Så här planerar du en uppsättning enhetstester:

  1. Öppna filen eller filerna som innehåller den kod som du vill testa.

  2. Öppna vyn Chatt och välj Planera från agentväljaren. Du kan också skriva /plan följt av aktivitetsbeskrivningen.

  3. Ange en uppmaning som beskriver de tester som du vill skapa. Som exempel:

    I need unit tests for the methods in the Calculator class. Use xUnit. Include tests for success, failure, and boundary conditions. Place the new tests in the Calculator.Tests project.

  4. Besvara eventuella klargörande frågor.

    Planagenten kan fråga om inställningar för testramverk, namngivningskonventioner eller hur man hanterar beroenden innan planen utarbetas.

  5. Granska den föreslagna planen.

    Planen innehåller vanligtvis en sammanfattning på hög nivå, en uppdelning av steg, verifieringssteg för att köra testerna och dokumenterade beslut. Iterera med planagenten tills planen återspeglar det du vill skapa.

  6. Överlämna planen för genomförande.

    När planen är slutgiltig väljer du alternativet för att starta implementeringen. Du kan implementera planen i samma chattsession eller starta en bakgrunds- eller molnsession för att arbeta med implementeringen autonomt. Du kan också öppna planen i redigeraren för ytterligare granskning.

Planagenten är särskilt användbar när din testuppgift omfattar flera filer, kräver nya testklasser eller armaturer eller behöver anpassa sig till teamkonventioner som inte redan finns i instruktionerna.

Använda agenten för att automatisera testarbetsflöden

Agenten automatiserar uppgifter i flera steg på din arbetsyta. För enhetstestning kan du använda agenten för att skapa ett testprojekt, skapa testfiler, köra de resulterande testerna, generera testrapporter eller åtgärda problem som uppstår under en testkörning.

Så här använder du agenten för att skapa och köra enhetstester:

  1. Öppna filen som innehåller den kod som du vill testa.

  2. Öppna vyn Chatt och välj Agent från agentväljaren.

  3. Låt agenten fastställa kontexten.

    När du använder agenten identifierar GitHub Copilot automatiskt relevanta filer. Du kan också bifoga ytterligare kontext med knappen Lägg till kontext eller genom att dra filer till chattvyn.

  4. Du kan även välja ikonen Verktyg för att välja vilka verktyg Agent får använda för uppgiften.

    Användbara verktyg för att testa uppgifter är bland annat filredigeringsverktygen, terminalverktyget för att köra dotnet testoch eventuella tilläggsbaserade testverktyg.

  5. Ange en uppmaning som definierar uppgiften. Som exempel:

    Ensure that a suitable unit test project is prepared for the selected code file. Create a test file in the unit test project that includes unit tests for all methods in the selected file. Unit tests should be written in C# and use the xUnit framework. Run the tests to ensure expected results.

  6. Övervaka agenten medan den arbetar.

    • Bekräfta eller avvisa verktygsanrop och terminalkommandon som agenten föreslår. Du kan till exempel bekräfta kommandot för att köra testerna eller generera en testrapport.
    • Avbryt agenten om du behöver ändra kontexten, växla verktyg eller justera aktivitetens omfång.
  7. Granska filerna som agenten skapade eller uppdaterade och behåll eller ta bort ändringarna.

    Använd uppföljningsprompter för att förfina specifika tester om det behövs.

Bestäm när du ska använda plan, agent eller båda

Använd följande vägledning för att välja mellan agenterna:

  • Använd planagenten först när testarbetet omfattar tvetydighet, flera filer eller teamkonventioner som måste bekräftas. Planen blir ett kontrakt som du kan granska innan någon kod skrivs.
  • Använd agenten direkt när uppgiften är väldefinierad och du vill att GitHub Copilot ska skapa, generera och köra tester utan ett mellanliggande planeringssteg.
  • Använd Plan och lämna sedan över till Agent när du vill ha en granskningsbar plan plus autonom implementering. Den här kombinationen ger dig mest kontroll över omfånget samtidigt som du automatiserar arbetet.