Перевірте інструменти та середовище перевірки одиниць вимірювання

Завершено

GitHub Copilot Chat можна використовувати для пропозицій юніт-тестів на основі вказаного вами коду. Наприклад, якщо ви вказали сигнатуру та тіло методу, GitHub Copilot Chat може запропонувати тестові кейси, що охоплюють параметри введення та очікувані вихідні значення. Коли у вашому тестовому проєкті буде кілька тестових випадків, ви можете використовувати GitHub Copilot для генерації пропозицій щодо завершення коду для додаткових тест-кейсів. Використання завершення рядка коду для створення тестів на одиницю зменшує повторюваний процес і допомагає переконатися, що код ретельно перевірено.

GitHub Copilot Chat використовує контекст і семантику вашого коду, щоб пропонувати твердження, які гарантують правильну роботу функції. Це також допомагає записувати тестові інциденти для межових випадків і межових умов, які може бути важко визначити вручну. Наприклад, GitHub Copilot Chat може пропонувати тестові випадки обробки помилок, нульових значень або несподіваних типів введення.

Важливий

Створені тестові інциденти можуть не охоплювати всі можливі сценарії. Перевірка вручну та перевірка коду необхідні для забезпечення якості коду.

Підтримка GitHub Copilot для юніт-тестування

GitHub Copilot може допомогти з такими тестуваннями:

  • Налаштуйте фреймворки для тестування: отримайте допомогу з налаштуванням правильного фреймворку для тестування та розширень Visual Studio Code для вашого проєкту та мови.
  • Створення тестового коду: створення тестів на одиницю, тестів на інтеграцію та наскривних тестів, які охоплюють код програми.
  • Обробляти випадки меж: створювати комплексні тестові комплекси для покриття межовий інцидент і умови помилок.
  • Виправлення помилок перевірки. Отримуйте пропозиції щодо виправлення помилок перевірки.
  • Підтримуйте послідовність: персоналізуйте GitHub Copilot, щоб генерувати тести, що відповідають практикам кодування вашого проєкту.

Налаштування системи тестування

Щоб прискорити ваш процес тестування, GitHub Copilot може допомогти налаштувати фреймворк тестування та розширення Visual Studio Code для вашого проєкту. GitHub Copilot пропонує відповідні фреймворки тестування залежно від типу вашого проєкту.

  1. Відкрийте подання Чат.

  2. Введіть /setupTests команду у поле введення чату.

  3. Дотримуйтесь рекомендацій GitHub Copilot для налаштування вашого проєкту.

Пишіть юніт-тести за допомогою GitHub Copilot

GitHub Copilot може допомогти вам написати тести для коду вашого додатка, генеруючи тестовий код, який охоплює вашу кодову базу. Це стосується тестів на одиницю, наскрізних тестів і тестів на випадок меж.

Ви можете генерувати модульні тести за допомогою наступних інструментів GitHub Copilot:

  • Перегляд чату: Використовуйте перегляд чату для генерації юніт-тестів для проєкту, класу або методу за допомогою Ask, Plan або Agent.
  • Inline Chat: Використовуйте Inline Chat для генерації юніт-тестів для вибраних класів або методів.
  • Розумні дії: Використовуйте розумну дію Generate Tests для генерації модульних тестів для вибраного коду без написання запиту.
  • Заповнення рядків коду: Використовуйте заповнення рядків коду для пропозиції модульних тестів додавання до існуючого тестового випадку.

Виправлення помилок перевірки

GitHub Copilot інтегрується з Test Explorer у Visual Studio Code і може допомогти виправити невдалі тести.

  1. У Провіднику тестів наведіть вказівник миші на невдалий тест.

  2. Виберіть кнопку Fix Test Failure (іконка блиску)

  3. Перегляньте та застосуйте запропоноване рішення GitHub Copilot.

Крім того, ви можете:

  1. Відкрийте подання Чат.

  2. Вводьте /fixTestFailure команду слеш.

  3. Слідкуйте за порадами GitHub Copilot, щоб виправити тест

Кінчик

При використанні агента агент контролює результати тесту під час виконання тестів і автоматично намагається виправити та повторно запустити невдалі тести.

Зберегти узгодженість

Якщо у вашій організації є конкретні вимоги до тестування, ви можете налаштувати, як GitHub Copilot генерує тести, щоб переконатися, що вони відповідають вашим стандартам. Ви можете персоналізувати, як GitHub Copilot генерує тести, надаючи власні інструкції. Наприклад,

  • Укажіть основні системи тестування
  • Визначення правил іменування для тестів
  • Установлення параметрів структури коду
  • Запит на конкретні моделі випробувань або методології

Підтримка модульних тестів у Visual Studio Code

Щоб створити та запустити модульні тести на C# у Visual Studio Code, вам потрібні такі ресурси:

  • .NET 8.0 SDK або новіші.
  • Розширення C# Dev Kit для Visual Studio Code.
  • Пакет тестових рамок, доданий до проекту.

Підтримка C# Dev Kit для тестів одиниць

Розширення C# Dev Kit для Visual Studio Code надає багатий набір функцій, які допоможуть вам створювати та керувати юніт-тестами для ваших C#-проєктів. Вона містить такі функції:

  • Test Explorer – подання дерева для відображення всіх тестових випадків у робочій області.
  • Run/Debug test cases – функція для запуску та налагодження тестових випадків.
  • Перегляд результатів перевірки – функція для перегляду результатів перевірки.
  • Команди тестування– команди для виконання всіх перевірок, виконання невдалих тестів тощо.
  • Параметри тестування – настройки, які стосуються перевірки.
  • Пакет тестової інфраструктури

C# Dev Kit підтримує такі тестові рамки:

  • xUnit
  • NUnit (NUnit)
  • MSTest

C# Dev Kit дає змогу створити тестовий проект, додати пакет тестової інфраструктури та керувати тестами одиниць.

Увімкнення тестової інфраструктури

Палітра команд у Visual Studio Code забезпечує найпростіший спосіб увімкнути тестовий фреймворк для вашого проєкту. Палітру команд можна відкрити такими способами:

  • Натисніть клавіші ctrl + Shift + P (Windows/Linux) або Cmd + Shift + P (macOS).
  • Відкрийте меню View , а потім виберіть Командну палітру.
  • Відкрийте Solution Explorer вигляд, клацніть правою кнопкою миші по папці рішення, а потім виберіть New Project. Ця опція відкриває Командну палітру з .NET:New Project... команда вже обрана.

У наведених нижче розділах описано, як увімкнути тестову структуру для проекту C# за допомогою палітри команд.

xUnit

Відкрийте Командну палітру і виберіть .NET:New Project... потім виберіть xUnit Test Project і вкажіть ім'я та розташування нового project. Ця команда створює новий проєкт і каталог, який використовує xUnit як тестову бібліотеку та налаштовує тестовий програм, додаючи до файлу проєкту наступні <PackageReference /> елементи.

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

У терміналі можна виконати таку команду:


   dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

NUnit (NUnit)

Відкрийте Командну палітру і виберіть .NET:New Project... потім виберіть NUnit3 Test Project і вкажіть ім'я та розташування нового project. Ця команда створює новий проєкт і каталог, який використовує NUnit як тестову бібліотеку та налаштовує тестовий програм, додаючи до файлу проєкту наступні <PackageReference /> елементи.

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

У терміналі виконайте таку команду:

    dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

MSTest

Відкрийте Командну палітру і виберіть .NET:New Project... потім виберіть MSTest Test Project і вкажіть ім'я та розташування нового project. Ця команда створює новий проєкт і каталог, який використовує MSTest як тестову бібліотеку і налаштовує тестовий виконавчик, додаючи до файлу проєкту наступні <PackageReference /> елементи.

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

У терміналі виконайте таку команду:

    dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Розробляйте юніт-тести у Visual Studio Code за допомогою GitHub Copilot Chat

Поєднання Visual Studio Code та GitHub Copilot Chat створює потужне середовище для створення та запуску юніт-тестів для ваших проєктів на C#.

Процес тестування одиниці можна розділити на три етапи:

  • Використовуйте Visual Studio Code, щоб створити тестовий проєкт для ваших юніт-тестів.
  • Використовуйте GitHub Copilot Chat для розробки юніт-тестових кейсів для вашого проєкту на C#.
  • Використовуйте Visual Studio Code і C# Dev Kit для запуску та керування юніт-тестами.

Створення тестового проекту

Потрібно створити тестовий проект, який використовуватиметься для проведення тестів на одиницю. Ви можете використати Visual Studio Code для виконання наступних завдань:

  1. Використовуйте палітру команд, щоб створити тестовий проект, у якому використовується вказана тестова база.

  2. Використовуйте інтегрований термінал, щоб додати посилання на проект, який ви тестуєте.

Цей процес створює новий проект і настроює тестовий бігун для вибраної інфраструктури.

Генеруйте модульні тестові кейси за допомогою GitHub Copilot Chat

GitHub Copilot Chat можна використовувати для написання юніт-тестових кейсів для вашого тестового фреймворку. GitHub Copilot Chat розпізнає ваш тестовий фреймворк і стиль програмування, а також генерує відповідні фрагменти коду. Ви можете скористатися GitHub Copilot Chat для виконання наступних завдань:

  • Записуйте тестові інциденти для тестової бази на основі коду, відкритого в редакторі, або фрагмента коду, який ви виділяєте в редакторі. GitHub Copilot визначає ваш тестовий фреймворк і стиль кодування та генерує відповідні фрагменти коду.

  • Визначте та напишіть тестові випадки для межових випадків і межових умов, які може бути важко визначити вручну. Наприклад, GitHub Copilot може пропонувати тестові випадки обробки помилок, нульових значень або несподіваних типів введень.

  • Пропонувати твердження, які забезпечують правильну роботу функції на основі контексту коду та семантики. Наприклад, створіть твердження, щоб переконатися, що параметри вводу функцій припустимі.

Розгляньте такі сценарії, коли просимо GitHub Copilot Chat створити одиникові тестові кейси:

  • Якщо один метод повністю видно в редакторі, ви можете попросити GitHub Copilot Chat згенерувати модульний тест для цього методу, ввівши Write a unit test for the method in the #editor.

  • Якщо видно кілька методів або призначений метод виходить за межі видимого в редакторі, виберіть код, для якого хочете згенерувати модульний тест, і запитайте GitHub Copilot: #selection write a unit test for the selected code.

Запуск і керування юніт-тестами у Visual Studio Code

Visual Studio Code і C# Dev Kit пропонують багатий набір функцій, які допоможуть вам запускати та керувати юніт-тестами для ваших C#-проєктів. Ви можете запускати й налагоджувати тестові інциденти, переглядати результати перевірки та керувати тестовими інцидентами за допомогою провідника тестів.

  • Тестові випадки виконання або налагодження: C# Dev Kit генерує ярлики (зелена кнопка відтворення) ліворуч від визначення класу та методу. Щоб запустити цільовий тестовий інцидент, натисніть зелену кнопку відтворення. Ви також можете клацнути правою кнопкою миші, щоб переглянути додаткові параметри.

  • Тестовий провідник. Провідник тестів – це подання дерева для відображення всіх тестових випадків у робочій області. Ви можете вибрати кнопку стакана на лівій панелі активності Visual Studio Code, щоб відкрити її. Ви також можете запустити або налагодити тестові інциденти та переглянути їхні результати тестування звідти.

  • Перегляд результатів перевірки. Після виконання або налагодження тестових інцидентів стан пов'язаних тестових елементів оновлюється як в прикрасах редактора, так і в Тестовому провіднику. Ви можете вибрати посилання в трасування стека, щоб перейти до вихідного розташування.

  • Команди тестування Visual Studio Code: Існують команди тестування (наприклад, Run All Tests), які можна знайти, шукаючи Test: у палітрі команд.

  • Налаштування тестування Visual Studio Code: Існують налаштування Visual Studio Code, специфічні для тестування, які можна знайти, шукаючи Testing у редакторі Settings.

Зведення

GitHub Copilot Chat можна використовувати для пропозицій юніт-тестів на основі вказаного вами коду. Наприклад, якщо ви вказали сигнатуру та тіло методу, GitHub Copilot Chat може запропонувати тестові кейси, що охоплюють параметри введення та очікувані вихідні значення. Коли у вашому тестовому проєкті буде кілька тестових випадків, ви можете використовувати GitHub Copilot для генерації пропозицій щодо завершення коду для додаткових тест-кейсів. Використання завершення рядка коду для створення тестів на одиницю зменшує повторюваний процес і допомагає переконатися, що код ретельно перевірено.

GitHub Copilot Chat використовує контекст і семантику вашого коду, щоб пропонувати твердження, які гарантують правильну роботу функції. Це також допомагає записувати тестові інциденти для межових випадків і межових умов, які може бути важко визначити вручну. Наприклад, GitHub Copilot Chat може пропонувати тестові випадки обробки помилок, нульових значень або несподіваних типів введення.