Jak používat Copilot ke generování testů jednotek

Jak Pouzivat Copilot Ke Generovani Testu Jednotek



Společnosti Microsoft a OpenAI ve spolupráci s GitHub vyvinuly rozšíření Copilot, nástroj pro optimalizaci a dokončování kódu využívající umělou inteligenci. Může vývojářům pomoci tím, že navrhne bloky nebo dokonce řádky kódu na základě dostupných a existujících kódů. Testování jednotek ve vývoji softwaru se týká testování jednotek kódu nebo bloků pro zajištění jejich správné funkčnosti. Integrace AI do testování kódu může nejen zlepšit produktivitu při vývoji softwaru, ale také celkovou kvalitu. Tento příspěvek vysvětluje, jak můžete použijte Copilot ke generování jednotkových testů .



  Ke generování jednotkových testů použijte Copilot





Stručný přehled GitHub Copilot

GitHub Copilot je asistent kódování s umělou inteligencí, který navrhuje úryvky kódu na základě kontextu kódu. OpenAI a Github vyvinuly nástroj pro zpracování jazyků založený na AI s modelem GPT-3 a Codex, který poskytuje kontextové návrhy kódu. Je trénován na veřejně dostupných kódech a lze jej integrovat s oblíbenými editory kódu, jako je Visual Studio.





Výhody automatického generování testů jednotek prostřednictvím Copilota

  1. Časově efektivní: Copilot může automaticky generovat testovací kód jednotky okamžitě na základě popisu nebo komentářů, které zmíníme. To nám může pomoci ušetřit spoustu času než ruční psaní testovacích kódů, a tím zlepšit a optimalizovat cyklus vývoje softwaru.
  2. Snížení počtu lidských chyb: Automatizace urychluje proces, ale také pomáhá výrazně omezit běžné lidské chyby. Procházením napsaného kódu může Copilot snadno pochopit účel a podle toho vygenerovat test bez jakýchkoli ručních chyb.
  3. Konzistence: Copilot má tendenci prosazovat jednotnost testovacích struktur a vzorů při generování jednotkových testů. Takový přístup nám může pomoci zachovat podobný přístup k testování pro celou kódovou základnu, což usnadňuje pochopení celého programu.
  4. Vývoj řízený testem: V prostředí testování softwaru je testem řízený vývoj metoda, která využívá testy softwarového kódu jako zpětnou vazbu, která pomáhá vývojářům při psaní nebo úpravách softwaru. Copilot podporuje postupy TDD prostřednictvím návrhů dynamického kódu pro testovací případy. Současně píšeme kódy a podporujeme přístup test-first, kdy jsou testy vytvořeny před implementací kódu.

Jak používat Copilot ke generování testů jednotek

Chcete-li vygenerovat test, můžeme začít instalací rozšíření GitHub Copilot a vytvořením programu, než povolíte Copilotu zahájit testování. Pro generování testovacího případu lze provést následující kroky:



1] Nainstalujte rozšíření Github Copilot Extension

  Instalace druhého pilota Github

Otevři Visual Studio Marketplace , vyhledejte rozšíření GitHub Copilot a klikněte Nainstalujte .

2] Vytvořte funkci

Abychom demonstrovali generování testu jednotek pomocí Copilota, vytvořili jsme program, který kontroluje, zda je konkrétní číslo prvočíslo, pomocí uživatelem napsaného v Pythonu. funkce is_prime() .



Začneme vytvořením souboru skriptu Python, prvočíslo.py , obsahující výše zmíněnou funkci a potřebné kódy pro kontrolu prvočísel. Jakmile je soubor vytvořen, můžeme napsat kód na základě logiky, která by kontrolovala prvočísla.

3] Spusťte test jednotky

Abychom vysvětlili, jak může Copilot generovat testy jednotek pro výše uvedený program, můžeme postupovat podle níže uvedených kroků:

  • Vytvoříme testovací funkci s názvem unit_test_prime_number() otestovat is_prime() funkce.
  • Po vytvoření napíšeme účel nebo dokumentační řetězec funkce a přidáme podmínku aserce. Jakmile je zmíněn řetězec doc, Copilot začne navrhovat podmínku tvrzení pro test.

  Funkce prvního testu jednotky druhého pilota

Tipy pro efektivní generování kódu jednotek

  • Jasný popis: Copilot generuje kódy hlavně kontrolou komentářů nebo řetězců dokumentace, které uživatel v souboru zadá. Dobře napsané popisné kódy jsou tedy nezbytné pro generování smysluplných testovacích kódů jednotek.
  • Pojmenování proměnných: Použití názvů proměnných, které popisují účel kódu, může pomoci generovat testovací případy. Jasnost názvů proměnných zajišťuje, že automaticky generované testovací případy odpovídají našim očekáváním.
  • Používání technik posmívání a narážení: Mocking a Stubbing jsou testovací techniky používané k vytváření fiktivních prostředí pro zkoumání funkcí kódu. Mocking vytváří klon skutečného objektu, jako je databáze nebo webová služba, zatímco Stubbing vytváří zjednodušenou verzi funkce, na které závisí testovaný kód.
  • Zkontrolujte navrhovaný kód: Návrhy Copilota by měly být přezkoumány, aby bylo zajištěno, že splňují požadavky na testování a standardy kódování.

Omezení testování jednotek pomocí GitHub Copilot

GitHub Copilot Chat je určen k tomu, aby vám poskytl nejrelevantnější odpověď na vaši otázku. Nemusí však vždy poskytnout odpověď, kterou hledáte. Uživatelé Copilot Chatu jsou odpovědní za kontrolu a ověřování odpovědí generovaných systémem, aby bylo zajištěno, že jsou přesné a vhodné.

Doufám, že příspěvek byl užitečný a že jste pochopili výhody a omezení používání GitHubu ke generování testování jednotek.

Pokrývá test jednotky generovaný Copilotem rohová pouzdra?

Copilot je užitečný nástroj pro testy jednotek, ale nemusí pokrýt všechny scénáře. Měli byste si důkladně prohlédnout jeho návrhy a zvážit neobvyklé vstupy nebo chyby. Buďte kreativní, abyste zajistili komplexní testy. Vaše odbornost je rozhodující pro testy solidních jednotek, a to i s Copilotem.

Je Copilot pro testovací případy schopen zvládnout složité algoritmy?

Copilot se potýká s testováním složitých algoritmů. I když může napsat základní testy, nemůže nahradit vaši odbornost. Pro složité algoritmy vytvořte specifické testy zaměřené na jedinečnou logiku. Copilot může být užitečný, ale pro složité testy jsou vždy potřeba vaše odborné znalosti.

  Ke generování jednotkových testů použijte Copilot
Populární Příspěvky