Testwerkstromen plannen en automatiseren met behulp van de modi Plan en Agent
In de vorige les werd de agentmodus gebruikt om tests te genereren op basis van één chatweergaveprompt. Grotere testtaken hebben vaak meer structuur nodig: bepalen wat u wilt testen, een testproject opzetten, tests genereren in verschillende bestanden en de resulterende suite uitvoeren. De planagent en langere agentsessies in de chatweergave zijn ontworpen voor dat werkniveau. Gebruik de planagent om een teststrategie te ontwerpen voordat code wordt geschreven en geef vervolgens het goedgekeurde plan aan de agent voor autonome implementatie met meerdere stappen.
Vergelijk de agents Ask, Plan en Agent
De chatweergave biedt drie ingebouwde lokale agents. Elke taak is geoptimaliseerd voor een ander type testtaak.
| Agent | Ideaal voor | Typisch gebruik in eenheidstests |
|---|---|---|
| Vraag | Analyse en Q&A in alleen-lezenmodus over uw code | Verken edge-cases, frameworkkeuzes of voorbeeldtests voordat u code schrijft. |
| Plannen | Gestructureerde, stapsgewijze implementatieplannen | Ontwerp een teststrategie voor meerdere bestanden die u vóór de implementatie kunt beoordelen. |
| Agent | Autonome werkstromen voor coderen met meerdere bestanden | Genereer tests direct in een testproject, voer ze uit en verbeter ze op basis van fouten. |
Kies een agent door deze te selecteren in de agentkiezer in de chatweergave. U kunt op elk gewenst moment tijdens een sessie schakelen tussen agents.
Important
Wanneer u de chatweergave met de agent gebruikt, kan GitHub Copilot meerdere Premium-aanvragen indienen om één taak te voltooien. Premium-aanvragen worden gebruikt door door de gebruiker geïnitieerde prompts en de vervolgacties die de agent namens u uitvoert. Het totale aantal gebruikte Premium-aanvragen is afhankelijk van de complexiteit van de taak, het aantal stappen en het model dat u selecteert.
De planagent gebruiken om een teststrategie te ontwerpen
De planagent produceert een gedetailleerd implementatieplan voordat code wordt geschreven. De agent onderzoekt uw taak, stelt vragen en stelt een stapsgewijs plan voor dat u kunt controleren, verfijnen en overdragen aan de agent.
Een reeks eenheidstests plannen:
Open het bestand of de bestanden die de code bevatten die u wilt testen.
Open de chatweergave en selecteer Plan in de agentkiezer. U kunt ook typen
/plangevolgd door de beschrijving van uw taak.Voer een prompt in waarmee de tests worden beschreven die u wilt maken. Voorbeeld:
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.Beantwoord eventuele verhelderende vragen.
De planagent kan vragen stellen over testframeworkvoorkeuren, naamconventies of het afhandelen van afhankelijkheden voordat het plan wordt opgesteld.
Bekijk het voorgestelde plan.
Het plan bevat doorgaans een overzicht op hoog niveau, een uitsplitsing van stappen, verificatiestappen voor het uitvoeren van de tests en gedocumenteerde beslissingen. Werk iteratief met de Plan-agent totdat het plan weergeeft wat u wilt bouwen.
Geef het plan voor implementatie af.
Wanneer het plan definitief is, selecteert u de optie om de implementatie te starten. U kunt het plan in dezelfde chatsessie implementeren of u kunt een achtergrond- of cloudsessie starten om autonoom aan de implementatie te werken. U kunt het plan ook openen in de editor voor verdere controle.
De planagent is vooral handig wanneer uw testtaak meerdere bestanden omvat, nieuwe testklassen of armaturen vereist, of moet worden afgestemd op teamconventies die nog niet zijn vastgelegd in instructies.
De agent gebruiken om testwerkstromen te automatiseren
De agent automatiseert taken met meerdere stappen in uw werkruimte. Voor eenheidstests kunt u de agent gebruiken om een testproject te maken, testbestanden te maken, de resulterende tests uit te voeren, testrapporten te genereren of problemen op te lossen die tijdens een testuitvoering optreden.
De Agent gebruiken om eenheidstests te maken en uit te voeren:
Open het bestand met de code die u wilt testen.
Open de chatweergave en selecteer Agent in de agentkiezer.
Laat de agent de context bepalen.
Wanneer u de agent gebruikt, GitHub Copilot automatisch de relevante bestanden identificeert. U kunt ook extra context toevoegen met de knop Context toevoegen of door bestanden naar de chatweergave te slepen.
Selecteer desgewenst het pictogram Hulpmiddelen om de hulpmiddelen te kiezen die de Agent voor de taak mag gebruiken.
Handige hulpprogramma's voor het testen van taken zijn de hulpprogramma's voor het bewerken van bestanden, het terminalhulpprogramma voor het uitvoeren
dotnet testen eventuele hulpprogramma's voor het uitvoeren van extensies.Voer een prompt in waarmee de taak wordt gedefinieerd. Voorbeeld:
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.Controleer de agent terwijl deze werkt.
- Bevestig of negeer de aanroepen van het hulpprogramma en terminalopdrachten die door de agent worden voorgesteld. U kunt bijvoorbeeld de opdracht bevestigen om de tests uit te voeren of een testrapport te genereren.
- Onderbreek de agent als u de context wilt wijzigen, hulpprogramma's wilt wijzigen of het bereik van de taak wilt aanpassen.
Controleer de bestanden die de agent heeft gemaakt of bijgewerkt en bewaar of negeer de wijzigingen.
Gebruik vervolgprompts om specifieke tests zo nodig te verfijnen.
Bepalen wanneer u Plan, Agent of beide wilt gebruiken
Gebruik de volgende richtlijnen om te kiezen tussen de agents:
- Gebruik eerst de planagent wanneer het testwerk dubbelzinnigheid, meerdere bestanden of teamconventies omvat die moeten worden bevestigd. Het plan wordt een contract dat u kunt controleren voordat er code wordt geschreven.
- Gebruik de Agent rechtstreeks wanneer de taak goed gedefinieerd is en u wilt dat GitHub Copilot de basis opzet, code genereert en tests uitvoert zonder een tussenstap voor planning.
- Gebruik Plan en draag vervolgens over aan Agent wanneer u een controleerbaar plan en autonome uitvoering wilt. Deze combinatie geeft u de meeste controle over het bereik terwijl u het werk nog steeds automatiseert.