Egységtesztek létrehozása a GitHub Copilot Chat nézettel
A Visual Studio Code Csevegés nézete az elsődleges hely az egységtesztek GitHub Copilottal történő létrehozásához. A Csevegés nézetben konfigurálhat egy tesztkeretet, teszteket hozhat létre egy fájlhoz vagy kijelöléshez, és finomíthatja az eredményeket, amíg a tesztek meg nem felelnek a projekt konvencióinak. Ez a lecke az Ügynök módra összpontosít, amely közvetlenül egy tesztfájlba írja a létrehozott teszteket, futtathatja az eredményül kapott teszteket, és iterál a hibákon – mindezt egyetlen csevegőüzenetből. A Kérdezés módban előre is megvizsgálhatja a tesztelési lehetőségeket fájlmódosítások nélkül.
A Csevegés nézet megnyitása
Nyissa meg a Csevegés nézetet az alábbi lehetőségek egyikével:
- Nyomja le a Ctrl + Alt + I (Windows /Linux) vagy Cmd + Alt + I (macOS).
- Válassza a GitHub Copilot ikont a címsorban, majd válassza a Csevegés váltása lehetőséget.
A Csevegés nézet a Másodlagos oldalsávon nyílik meg, és három konfigurációs lehetőséget biztosít, amelyek minden elküldött kérdést érintenek:
- Az ügynök célhelye: Ahol az ügynök fut. Válassza a Helyi lehetőséget az ügynök interaktív futtatásához a szerkesztőben, teljes hozzáféréssel a munkaterülethez, az eszközökhöz és a modellekhez.
- Ügynök: Az AI által a munkamenet során betöltött szerepkör. A beépített helyi ügynökök az Ask, a Plan és az Agent.
- Jogosultsági szint: Az ügynök mekkora önállósággal rendelkezik az eszközök és terminálparancsok invokálásakor. A beállítások az alapértelmezett jóváhagyások, a jóváhagyások megkerülése és az Autopilot.
Az egységtesztek létrehozásakor az ajánlott kiindulási pont az alapértelmezett jóváhagyásokkal rendelkező ügynök. Az ügynök mód fájlokat szerkeszthet, terminálparancsokat futtathat és újrafuttathatja a teszteket, így például "teszteket hozhat létre ehhez a módszerhez", és létrehozhat egy működő tesztfájlt, amit csak felül kell vizsgálnia. Az alapértelmezett jóváhagyások folyamatosan tájékoztatják Önt azzal, hogy minden egyes eszközhívás megerősítését kérik.
Ha szeretné, először a Kérdezés módban ismerkedjen meg a tesztelési lehetőségekkel
Az Ask mód a csevegésben válaszol a kérdésekre, anélkül hogy módosítaná a fájlokat vagy eszközöket hívna meg. Ez jó választás, ha egy megközelítést szeretne megtervezni, mielőtt az ügynök bármit megváltoztatna. Amikor a következőt szeretné használni, használja a Kérdezés módot:
- Hasonlítsa össze egy összetett módszer tesztelési eseteit, mielőtt véglegesíteni szeretne egy struktúrát.
- Azonosítsa a lefedésre érdemes szélső eseteket és határfeltételeket.
- Kérjen javaslatot egy tesztkeretrendszerre vagy assertálási stílusra.
- Egy példatesztet láthat a csevegésben anélkül, hogy lemezre íratta volna.
A Kérdezés mód használata elemzéshez:
Nyissa meg a Csevegés nézetet, és válassza a Kérdés lehetőséget az ügynökválasztóból.
Csatolja a megfelelő fájlt vagy kijelölést kontextusként (például a
#selectionhasználatával vagy egy fájl behúzásával).Tegyen fel egy elemzési kérdést. Például:
What edge cases should I cover when testing the CalculateDiscount method? List the scenarios and explain why each one matters.Tekintse át a választ, majd állítsa az ügynökválasztót Agent értékre a tényleges tesztek létrehozásához.
Tesztelési keretrendszer beállítása a következővel: /setupTests
Ha a projekt még nincs konfigurálva tesztelési keretrendszerrel, GitHub Copilot javasolhat egyet, és végigvezetheti a konfigurációs lépéseken. A /setupTests perjel parancs bármely ügynökben működik, de az Ügynök mód csomagokat is telepíthet, és létrehozhatja a tesztprojektet.
Nyissa meg a Csevegés nézetet, és válassza ki az ügynököt az ügynökválasztóból.
Írja be a
/setupTestsparancsot a csevegés beviteli mezőjébe.Ellenőrizze azokat az eszközhívásokat és terminálparancsokat, amelyeket az Agent a csomagok telepítéséhez, a tesztprojekt vázának létrehozásához és a Visual Studio Code-hoz ajánlott tesztelési bővítményekhez javasol.
/setupTests akkor hasznos, ha új tesztprojektet indít, vagy olyan projektet indít, amely még nem tartalmaz teszteket.
Tesztek létrehozása a /tests
A /tests perjel parancs egységteszteket hoz létre a szerkesztőben jelenleg aktív kódhoz. Ügynök módban a létrehozott tesztek közvetlenül egy megfelelő tesztfájlba lesznek beírva. GitHub Copilot észleli a meglévő tesztelési keretrendszert és kódolási stílust, és egyező teszteket hoz létre.
Tesztek létrehozása egy teljes fájlhoz:
Nyissa meg a tesztelni kívánt alkalmazáskódfájlt.
Nyissa meg a Csevegés nézetet, és győződjön meg arról, hogy az Ügynök ki van jelölve.
A csevegés beviteli mezőjébe írja be a(z)
/testselemet, majd utána adjon meg további útmutatást. Például:/tests Generate unit tests for the methods in this file. Include success, failure, and edge cases.Ellenőrizze, hogy az ügynök milyen eszközhívásokat használ a környezet olvasásához, a tesztek írásához és (opcionálisan) futtatásához.
Tekintse át az ügynök által alkalmazott módosításokat.
Az ügynök hozzáfűzi a teszteket egy meglévő tesztfájlhoz, ha elérhető, vagy létrehoz egy új tesztfájlt a megfelelő helyen. A diff megjelenik a szerkesztőben, így ellenőrizheti az egyes módosításokat.
A módosítások elfogadásához vagy elvetéséhez válassza a Megtartás vagy visszavonás lehetőséget.
Tesztek létrehozása egy adott metódushoz vagy kódblokkhoz:
Nyissa meg az alkalmazáskódfájlt.
Válassza ki a tesztelni kívánt metódust vagy blokkot.
A Csevegés nézetben adja meg a(z)
/testselemet, majd a kijelölésre hivatkozó útmutatást. Például:/tests Generate unit tests for the selected method. Validate both success and failure, and include edge cases.Tekintse át és tartsa meg vagy dobja el az eredményként kapott módosításokat.
Tesztek létrehozása természetes nyelvű kéréssel
Nem kell perjelparancsot használnia. Az ügynök akkor hoz létre teszteket természetes nyelvű kérésekből, ha elegendő kontextust tartalmaz. Példák:
- "Hozzon létre xUnit-teszteket a fájl metódusaihoz, és adja hozzá őket a Calculator.Tests projekthez."
- Írj egységteszteket a(z)
CalculateDiscountmetódushoz, beleértve a negatív értékekre és a nullára vonatkozó határeseteket. A tesztek megírása után futtassa le őket. - "Integrációs tesztek létrehozása az adatelérési réteghez ebben a modulban."
Mivel az Agent képes parancsokat futtatni, az ellenőrzési lépéseket is megadhatja ugyanabban a promptban. Kérje meg az ügynököt, hogy az írásuk után futtassa a teszteket, hogy észlelje és javítsa ki a nyilvánvaló hibákat, mielőtt visszaküldené Önnek a munkát.
Kontextus hozzáadása a promptokhoz
A létrehozott tesztek minősége a megadott környezettől függ. Használja a következő lehetőségek közül az egyiket vagy többet ahhoz, hogy kontextust csatoljon egy Chat nézetbeli prompthoz:
- Környezet hozzáadása gomb: Fájlok, mappák, szimbólumok vagy az aktuális szerkesztőkijelölés hozzáadásához nyisson meg egy gyorskiválasztást.
- Húzással: Húzza a fájlokat az Explorer nézetből, vagy húzzon egy szerkesztőlapot a Csevegés nézetre a tartalom csatolásához.
-
#Megemlítések: Írja be a(z)#jelet, majd egy fájl, mappa vagy szimbólum nevét, hogy kontextusként hozzáadja. A#selectionsegítségével csatolhatja az aktuális kijelölést a szerkesztőben, vagy a#codebasehasználatával engedélyezheti, hogy a GitHub Copilot releváns kontextus után keressen a munkaterületen. - Külső fájlok: Nyissa meg a markdown-fájlokat (például közreműködői irányelveket vagy tesztelési konvenciók) a szerkesztőben, és csatolja őket a Környezet hozzáadása szolgáltatással. Az ügynök a tartalommal alakítja a létrehozott teszteket.
Ha például egyetlen metódus látható a szerkesztőben, a következőt kérdezheti: Write a unit test for the method in #editor. Ha több metódus is látható, vagy a célmetódus túlnyúlik a látható területen, először válassza ki a kódot, és kérdezze meg a következőt: #selection write unit tests for the selected code.
Az ügynök módosításainak áttekintése és pontosítása
Annak ellenére, hogy az ügynök közvetlenül a tesztprojektbe írja a teszteket, ön továbbra is kézben tarthatja az irányítást:
- Tekintse át a diffet: Minden fájl, amelyet az ügynök módosít, megnyílik a szerkesztőben, kiemelve a javasolt módosításokat. Mielőtt elfogadná, nézze át a diffet.
- Megtartás vagy Visszavonás: A módosítások elfogadásához használja a Megtartás, a visszavonásukhoz pedig a Visszavonás gombot. Az egyes hunkokat a szerkesztőből is visszaállíthatja.
- Fordítás és futtatás: A módosítások mentése után fordítsa le a tesztprojektet, és futtassa a teszteket a Test Explorerből vagy a terminálból annak ellenőrzéséhez, hogy minden lefordul és a tesztek sikeresen lefutnak.
- Iterátum: Az adott tesztek pontosításához, további esetek hozzáadásához vagy metódusok átnevezéséhez használjon nyomon követési utasításokat ugyanabban a csevegési munkamenetben.
A tesztlétrehozás személyre szabása egyéni utasítások használatával
Ha a szervezet speciális tesztelési követelményekkel rendelkezik, testre szabhatja, hogy GitHub Copilot hogyan hoz létre teszteket, hogy a kimenet megfeleljen a szabványoknak. Az egyéni utasítások lehetővé teszik a következőt:
- Adja meg az előnyben részesített tesztelési keretrendszereket (például az NUnit helyett az xUnitot).
- Elnevezési konvenciók definiálása tesztosztályokhoz és metódusokhoz.
- Állítsa be a kódstruktúra preferenciáit, például az Arrange-Act-Assert mintát.
- Konkrét tesztminták kérése, például a határértékek paraméteres tesztelése.
Egyéni utasításokat tároljon egy *.instructions.md fájlban a munkaterületen.
applyTo A metaadatmezővel csak a fájlok tesztelésére alkalmazhatja az utasításokat. Egy érték például applyTo: tests/** a könyvtárban lévő tests/ fájlokra vonatkozó utasításokat tartalmazza. A fájl forrásvezérlőben való megosztása a csapat minden fejlesztőjének ugyanazt a tesztelési környezetet biztosítja.
Important
Előfordulhat, hogy a létrehozott tesztesetek nem minden forgatókönyvre vonatkoznak. A tesztek minőségének biztosításához továbbra is manuális felülvizsgálatra és kódvizsgálatra van szükség.