Как да използвате Copilot за генериране на Unit Tests

Kak Da Izpolzvate Copilot Za Generirane Na Unit Tests



Microsoft и OpenAI, в сътрудничество с GitHub, разработиха разширението Copilot, базиран на AI инструмент за оптимизиране и допълване на код. Може да помогне на разработчиците, като предложи блокове или дори редове код въз основа на налични и съществуващи кодове. Единичното тестване в разработката на софтуер се отнася до тестване на кодови единици или блокове, за да се гарантира тяхната правилна функционалност. Интегрирането на AI в тестването на код може не само да подобри производителността при разработването на софтуер, но и цялостното качество. Тази публикация обяснява как можете използвайте Copilot за генериране на модулни тестове .



  Използвайте Copilot за генериране на модулни тестове





Кратък преглед на GitHub Copilot

GitHub Copilot е задвижван от AI помощник за кодиране, който предлага кодови фрагменти въз основа на контекста на кода. OpenAI и Github разработиха базиран на AI инструмент за езикова обработка с модела GPT-3 и Codex, който предоставя контекстно базирани предложения за код. Той е обучен на публично достъпни кодове и може да бъде интегриран с популярни редактори на код като Visual Studio.





Предимства на автоматизираното генериране на модулни тестове чрез Copilot

  1. Ефективно време: Copilot може автоматично да генерира незабавно модулен тестов код въз основа на описанието или коментарите, които споменаваме. Това може да ни помогне да спестим много време от ръчното писане на тестовите кодове, като по този начин подобряваме и оптимизираме цикъла на разработка на софтуер.
  2. Намалени човешки грешки: Автоматизацията ускорява процеса, но също така помага значително да намали често срещаните човешки грешки. Преминавайки през писмения код, Copilot може лесно да разбере целта и съответно да генерира теста без ръчни грешки.
  3. Консистенция: Copilot има тенденция да налага еднаквост в тестовите структури и модели, докато генерира модулни тестове. Такъв подход може да ни помогне да поддържаме подобен подход за тестване за цялата кодова база, което улеснява разбирането на цялата програма.
  4. Разработка, управлявана от тестове: В средата за тестване на софтуер разработката, управлявана от тестове, е метод, който използва тестове на софтуерен код като обратна връзка, за да помогне на разработчиците при писане или модифициране на софтуер. Copilot поддържа практиките на TDD чрез своите предложения за динамичен код за тестови случаи. В същото време ние пишем кодовете, насърчавайки подхода на първо тестване, при който тестовете се създават преди кодът да бъде внедрен.

Как да използвате Copilot за генериране на Unit Tests

За да генерираме теста, можем да започнем с инсталиране на разширението GitHub Copilot и създаване на програмата, преди да позволим на Copilot да започне тестването. Могат да се следват следните стъпки за генериране на тестов случай:



1] Инсталирайте разширението Github Copilot

  Инсталиране на Github копилот

Отвори Visual Studio Marketplace , потърсете разширението GitHub Copilot и щракнете Инсталирай .

2] Създайте функция

За да демонстрираме генериране на единичен тест с помощта на Copilot, ние създаваме програма, която проверява дали дадено число е просто, използвайки написаното от потребителя на Python функция is_prime() .



Започваме със създаване на файл със скрипт на Python, просто_число.py , съдържащ споменатата по-горе функция и необходимите кодове за проверка за прости числа. След като файлът е създаден, можем да напишем кода въз основа на логиката, която ще проверява за прости числа.

3] Стартирайте Unit Test

За да обясним как Copilot може да генерира модулни тестове за горната програма, можем да следваме стъпките, посочени по-долу:

  • Създаваме тестова функция с име unit_test_prime_number() за тестване на is_prime() функция.
  • Веднъж създаден, ние пишем целта или низа за документация за функцията и добавяме условието за твърдение. След като низът на документа бъде споменат, Copilot започва да предлага условието за твърдение за теста.

  Copilot Unit Test Основна функция

Съвети за ефективно генериране на код на единица

  • Ясно описание: Copilot основно генерира кодове на единици, като преглежда коментарите или документационните низове, които потребителят предоставя във файла. Следователно, добре написаните описателни кодове са от съществено значение за генериране на смислени кодове за единичен тест.
  • Наименуване на променливи: Използването на имена на променливи, които описват целта на кода, може да помогне за генерирането на тестови случаи. Яснотата в имената на променливите гарантира, че автоматично генерираните тестови случаи отговарят на нашите очаквания.
  • Използване на техники за подиграване и набиване: Mocking и Stubbing са техники за тестване, използвани за създаване на фиктивни среди за изследване на функциите на кода. Mocking създава клонинг на реален обект, като база данни или уеб услуга, докато Stubbing създава опростена версия на функция, от която зависи кодът, който се тества.
  • Прегледайте предложения код: Предложенията на Copilot трябва да бъдат прегледани, за да се гарантира, че отговарят на изискванията за тестване и стандартите за кодиране.

Ограничения на модулното тестване с помощта на GitHub Copilot

GitHub Copilot Chat има за цел да ви предостави най-подходящия отговор на вашия въпрос. Възможно е обаче не винаги да дава отговора, който търсите. Потребителите на Copilot Chat са отговорни за прегледа и валидирането на отговорите, генерирани от системата, за да гарантират, че са точни и подходящи.

Надявам се, че публикацията е била полезна и сте разбрали предимствата и ограниченията на използването на GitHub за генериране на модулно тестване.

Единичният тест, генериран от Copilot, обхваща ли ъглови случаи?

Copilot е полезен инструмент за модулни тестове, но може да не покрива всеки сценарий. Трябва да прегледате внимателно неговите предложения и да вземете предвид необичайни входни данни или грешки. Бъдете креативни, за да осигурите изчерпателни тестове. Вашият опит е от решаващо значение за солидни тестове на единици, дори и с Copilot.

За тестови случаи, способен ли е Copilot да обработва сложни алгоритми?

Copilot се бори с тестването на сложни алгоритми. Въпреки че може да пише основни тестове, той не може да замени вашия опит. За сложни алгоритми изработете специфични тестове, насочени към уникалната логика. Copilot може да бъде полезен, но вашият опит винаги е необходим за сложни тестове.

  Използвайте Copilot за генериране на модулни тестове
Популярни Публикации