Изучите поддержку модульного тестирования в Visual Studio Code

Завершено

Прежде чем создавать модульные тесты с помощью GitHub Copilot, проект нуждается в рабочей платформе тестирования и способе выполнения тестов внутри Visual Studio Code. Visual Studio Code, пакет SDK для .NET и расширение C# Dev Kit обеспечивают среду для выполнения модульных тестов, а GitHub Copilot сосредоточен на создании и доработке тестового кода. Понимание базовой среды упрощает выполнение GitHub Copilot рабочего процесса.

В этом уроке рассматриваются возможности Visual Studio Code и инструменты C# для поддержки модульного тестирования. В последующих уроках основное внимание уделяется тому, как GitHub Copilot создает и поддерживает тестовый код, который выполняется в этой среде.

Поддержка Visual Studio Code для модульных тестов

Чтобы создать и запустить модульные тесты C# в Visual Studio Code, вам потребуется следующее:

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

Поддержка пакета разработки C# для модульных тестов

Расширение комплекта разработки C# предоставляет функции тестирования, которые вы используете в этом модуле:

  • Обозреватель тестов: представление дерева, показывающее все тестовые варианты в рабочей области. Вы можете открыть обозреватель тестов, выбрав значок кикера на панели действий.
  • Запуск и отладка тестов: в редакторе рядом с каждым тестовым классом и методом отображаются зеленые кнопки запуска. Щелкните правой кнопкой мыши кнопку воспроизведения, чтобы просмотреть дополнительные параметры.
  • Просмотр результатов теста: после выполнения теста результат отражается в оформлении редактора и в обозревателе тестов. Выбор ссылки в трассировке стека переходит к исходному расположению.
  • Тестовые команды: такие Test: Run All Tests команды доступны в палитре команд. Найдите Test:, чтобы увидеть полный список.
  • Параметры тестирования: параметры, управляющие обнаружением тестов и поведением среды выполнения, доступны в редакторе параметров. Найдите Testing, чтобы увидеть доступные параметры.

Набор средств разработки C# поддерживает следующие платформы тестирования:

  • xUnit
  • NUnit
  • MSTest

Создание тестового проекта с помощью палитры команд

Палитра команд в Visual Studio Code предоставляет самый простой способ создания тестового проекта, использующего поддерживаемую платформу. Палитру команд можно открыть следующим образом:

  • Нажмите клавиши Ctrl + Shift + P (Windows/Linux или Cmd + Shift + P (macOS).
  • Откройте меню "Вид" и выберите палитру команд.
  • Откройте представление Обозреватель решений, щелкните правой кнопкой мыши папку решения и выберите New Project. Этот параметр открывает палитру команд с уже выбранной командой .NET: Новый проект....

В следующих разделах показано, как создать тестовый проект для каждой поддерживаемой платформы.

xUnit

Откройте палитру команд и выберите .NET: Создать 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

Откройте палитру команд и выберите .NET: Создать 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: Создать Project... выберите MSTest Test Project, а затем укажите имя и расположение для нового project. Эта команда добавляет следующие <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

После того как тестовый проект существует, Visual Studio Code и комплект средств разработки на C# предоставляют несколько способов выполнения тестов и управления ими:

  • Запуск и отладка из редактора: нажмите зеленую кнопку воспроизведения рядом с классом или методом, чтобы запустить этот целевой объект. Щелкните правой кнопкой мыши кнопку воспроизведения, чтобы просмотреть такие параметры, как запуск теста и отладка теста.
  • Обозреватель тестов: запуск или отладка отдельных тестов, групп или полного набора из представления дерева. Результаты тестов, включая значки успешного и неуспешного выполнения и длительность, отображаются рядом с каждым элементом.
  • Просмотр результатов теста: элементы редактора и обозреватель тестов отражают текущее состояние каждого теста после выполнения. Выберите ссылки в трассировках стека, чтобы перейти к строке, где произошла ошибка.
  • Тестирование команд: используйте такие команды, как Test: Run All Tests, Test: Debug Failed Testsи Test: Show Output из палитры команд.
  • Параметры тестирования: выполните поиск Testing в редакторе параметров, чтобы настроить поведение, например автоматическое выполнение при сохранении или форматировании результатов теста.

Рабочий процесс модульного тестирования с GitHub Copilot

При объединении Visual Studio Code с GitHub Copilot процесс модульного тестирования разбивается на три этапа:

  1. Настройте среду: используйте Visual Studio Code, пакет SDK для .NET и C# Dev Kit, чтобы создать тестовый проект и добавить ссылку на тестируемый проект. Вы завершили этот этап в этом модуле.
  2. Создание тестового кода: используйте GitHub Copilot в представлении «Чат», чтобы создать модульные тесты для кода приложения. Следующие разделы посвящены этому этапу.
  3. Запуск и поддержка тестов: используйте обозреватель тестов и C# Dev Kit для запуска тестов, а затем GitHub Copilot для расширения покрытия тестами и исправления падающих тестов.

Остальные единицы сосредоточены на средствах GitHub Copilot, поддерживающих этапы 2 и 3.