Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A .NET-hez készült GitHub Copilot-tesztelés a GitHub Copilot Chat egyik képessége, amely a Visual Studióba van integrálva. Ez a funkció automatizálja a C#-kód létrehozását, futtatását és tesztelését teljes projektekhez, megoldásokhoz, fájlokhoz, osztályokhoz vagy tagokhoz. Olyan C#-fejlesztőknek készült, akik komplex tesztelési lefedettséget szeretnének gyorsan megvalósítani anélkül, hogy minden tesztesetet manuálisan kellene megírniuk. A GitHub Copilot-tesztelés képes teszteket létrehozni xUnit, NUnit és MSTest tesztelési keretrendszerekhez.
A Copilot-ügynök módban az egyszeri kérésekkel ellentétben a .NET-hez készült GitHub Copilot-tesztelés egy irányított, hosszú ideig futó élményt kínál, amelyet kifejezetten a tesztelési generációhoz terveztek. Determinisztikus eredményeket hoz létre a C#-fordítóban és a nyelvi szemantikában, a kódbázis, a fájlstruktúra és a tesztelési konvenciók mély tudatában, hogy kiszámítható, kontextusnak megfelelő teszteket biztosítson.
Előfeltételek
- Visual Studio 2026 18.3-os vagy újabb verzió
- C# projekt
- Bejelentkezés a Visual Studióba fizetősCopilot-előfizetéssel rendelkező GitHub-fiókkal
Megjegyzés:
A .NET-hez készült GitHub Copilot-teszteléshez fizetős GitHub Copilot-előfizetés szükséges (egyéni, üzleti vagy vállalati). Az ingyenes Copilot-előfizetések nem támogatottak.
Miért érdemes a GitHub Copilot .NET-alapú tesztelését használni?
A .NET-hez készült GitHub Copilot-tesztelés átfogó élményt nyújt a tesztek generálásához kapcsolódó általánosabb Copilot-képességekhez képest. A .NET-hez készült GitHub Copilot egységtesztelési képessége a következőket biztosítja:
- Hatékonyság: C#-egységtesztek automatikus létrehozása, összeállítása és futtatása nagy vagy kis projektekhez vagy megoldásokhoz.
- Következetesség: Győződjön meg arról, hogy a tesztek megfelelnek az ajánlott eljárásoknak és a projektszabványoknak. A tesztek egy külön tesztprojektben jönnek létre a megoldásban, és az xUnit, az NUnit és az MSTest keretrendszerek használatával jönnek létre. Ha a megoldás már rendelkezik egységtesztekkel az NUnitban vagy az xUnitban, a .NET-hez készült GitHub Copilot-tesztelés új teszteket hoz létre ugyanabban az egységtesztelési keretrendszerben. Ha a megoldásban nincsenek egységtesztek, a rendszer új teszteket hoz létre az MSTest használatával.
- Integráció: Zökkenőmentesen működik a Visual Studióban, kihasználva a Copilot AI-képességeit.
- Kiszámíthatóság: A Copilot determinisztikusan, a C#-fordítóban és a nyelvi szemantikában alapuló teszteket hoz létre, így az állítások és a peremes esetek kiszámíthatók és típusbiztosak.
Legfontosabb funkciók
- Automatizált tesztlétrehozás nagy méretekben: Teszteket hozhat létre egyetlen fájlhoz, több fájlhoz egyetlen projektben vagy teljes megoldásokban.
-
Parancsalapú interakció: Használjon támogatott parancsokat és paramétereket (az üzenet a
/helpGitHub Copilot tesztelésében szerepel). -
Rugalmas kérések: Konkrét kód megcélzása a strukturált
@Test #<target>szintaxissal, vagy szabadkérelmű természetes nyelvi utasításokat használva írja le a tesztelni kívánt kódot.
Mit tehet a GitHub Copilot tesztelése?
Ha engedélyezi ezt a képességet, a GitHub Copilot tesztelése többféleképpen is együttműködik a megoldással a tesztek létrehozásához és ellenőrzéséhez:
- Olvas: A Copilot elemzi a forráskódot és a projektstruktúrát a környezet és a függőségek megértéséhez.
- Ír: A javaslatok alapján tesztfájlokat hoz létre vagy frissít a megoldáson belül.
- Épít: Az eszköz elindítja a buildeket a kód fordításához és annak ellenőrzéséhez, hogy a létrehozott tesztek megfelelően integrálhatók-e.
- Futtat: Teszteket futtat, hogy megerősítse, átmennek-e, és visszajelzést adjon a lefedettségről és a minőségről.
Fontos
A copilot-tesztelés nem módosítja az éles kódot a tesztgenerálási folyamaton kívül. Minden módosítás a helyi fejlesztési környezetben történik, és ön továbbra is teljes mértékben ellenőrzi a javaslatok áttekintését, elfogadását vagy elvetését.
Az ügynök által @Test végrehajtott műveletek
Az @Test ügynök különböző műveleteket hajt végre a tesztgenerálás során. Ezeknek a műveleteknek a megértésével megtudhatja, mire számíthat az eszköz használatakor.
Felépítési és tesztelési műveletek
Az ügynök Visual Studio API-kat használ (nem parancssori eszközöket vagy dotnet restorehasonlókatdotnet test) a következő műveletek végrehajtásához:
- Visszaállítás és buildelés: Csomagok visszaállítása és projektek létrehozása hatókör alapján (egyetlen projekttől a teljes megoldásig).
- Tesztek futtatása: Elsősorban csak a létrehozott teszteket futtatja. A kezdeti és az eredményként kapott kódlefedettség kiszámításához (és a lefedettségoptimalizálási módhoz) azonban az ügynök az adott hatókörön belül futtatja az összes tesztet.
-
Process git diff: A diff mód (
#git_changes) használatakor az ügynök elemzi a nem véglegesített módosításokat a célzott tesztek létrehozásához.
Csomag telepítése
Az ügynök szükség szerint telepíti a NuGet-csomagokat:
- Keretrendszercsomagok tesztelése (MSTest, NUnit vagy xUnit)
- Keretcsomagok kicsomagolása, ha még nincs jelen
- Lefedettség és TRX-bővítmények a Microsoft Test Platformhoz (MTP) ha nincs jelen
LLM-műveletek
Az ügynök a következő LLM-hívásokat kezdeményezi:
- Szabadkéseletes gyorselemzés
- Összegzés feldolgozása
- Tesztgenerálás
Projekt- és fájlmódosítások
Az ügynök létrehoz egy tesztprojektet, ha nem létezik a célkódhoz.
Az ügynök egyéni fájlrendszert használ a következő garanciákkal:
- Hatókör: Az ügynök soha nem olvas vagy ír fájlokat az adattár gyökérkönyvtárán kívül (a naplók kivételével).
- Írásvédett beállítás: Ha lehetséges, az ügynök írásvédett fájlrendszert használ, amely megakadályozza az írási műveleteket.
Az ügynök a következő fájlokba írhat:
- Projektfájlok tesztelése
- Forrásprojektfájlok (például attribútumok hozzáadása
InternalsVisibleTo) - Megoldásfájlok (közvetetten Visual Studio API-kon keresztül, például projekt hozzáadásakor)
- Forrásfájlok tesztelése
Biztonsági szempontok
Amikor először futtatja a GitHub Copilot .NET-alapú tesztelését, a Copilot az Ön hozzájárulását kéri az LLM által létrehozott kód végrehajtásához a számítógépen. Ilyenek lehetnek például a NuGet-csomagok telepítése vagy visszaállítása, valamint a tesztek futtatása. Ha nem ad általános hozzájárulást, a GitHub Copilot tesztelése explicit jóváhagyást kér, mielőtt bármilyen ilyen műveletet végrehajt.
Caution
A hozzájárulás lehetővé teszi a Copilot számára, hogy a Visual Studio-munkameneten belül csendesen meghívjon tetszőleges parancsokat. A Microsoft nem tudja garantálni ezeknek a parancsoknak a biztonságát. Ezt a kapcsolót csak tesztkörnyezetben kell engedélyeznie, és lépéseket kell tennie az adott környezet számára elérhető jogosultságok korlátozásához. A zárt környezetnek például nem szabad felhőalapú fiókot használnia a Windowsba való bejelentkezéshez, és a zárt környezet nem szabad, hogy egy privilégiumokkal rendelkező GitHub-fiókkal legyen bejelentkezve a Visual Studio-ba, amely olvasási hozzáférést biztosít nem nyilvános adattárakhoz vagy írási hozzáférést biztosít éles adattárakhoz.