Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Повышайте уверенность в качестве вашего кода и улучшайте покрытие тестов, создавая и выполняя модульные тесты с использованием возможностей GitHub Copilot для .NET.
Хотя Copilot может создавать модульные тесты, вы получаете дополнительные возможности тестирования с помощью тестирования GitHub Copilot для .NET в Visual Studio, включая следующие:
- Модульные тесты создаются в отдельном проекте в решении.
- Copilot создает тесты детерминированно, основано на семантике компилятора C# и языка, поэтому утверждения и пограничные варианты являются предсказуемыми и типобезопасны.
- Тестирование GitHub Copilot подразумевает создание модульных тестов после генерации тестов. Если возникают ошибки, возможность модульного тестирования в GitHub Copilot для .NET пытается определить и исправить ошибки, а затем повторно выполнить тесты.
- Тестирование GitHub Copilot выполняет тесты с помощью обозревателя тестов.
Тестирование GitHub Copilot для .NET создает тесты для проектов C# только с помощью платформ MSTest, NUnit и xUnit. Если решение уже имеет модульные тесты в NUnit или xUnit, тестирование GitHub Copilot для .NET создает новые тесты в той же платформе модульного тестирования. Если в решении нет модульных тестов, новые тесты создаются с помощью MSTest.
Предпосылки
Чтобы начать, вам нужно:
- Visual Studio 2026 версии 18.3 или более поздней версии
- Проект C#
- Войдите в Visual Studio с помощью учетной записи GitHub с платной подпиской Copilot
Замечание
Для тестирования GitHub Copilot для .NET требуется платная подписка GitHub Copilot (отдельная, бизнес или корпоративная). Бесплатные подписки Copilot не поддерживаются.
Общие сведения о модульном тестировании см. в основных принципах модульного тестирования.
Способы запуска тестирования GitHub Copilot
Вы можете запустить тестирование GitHub Copilot для .NET несколькими способами:
- В Copilot Chat введите
@Test, затем целевую строку или запрос в окно чата. - В редакторе щелкните правой кнопкой мыши, чтобы открыть контекстное меню и выберите "Действия Copilot>Создать тесты".
- В новом потоке чата Copilot выберите "Написать модульные тесты" из предложений Copilot Chat.
Замечание
Контекстное меню и опции взаимодействия автоматически направляются агенту @Test, когда фокус интегрированной среды разработки находится на коде C#. Для проектов, не относящихся к C#, эти параметры используют универсальный запрос Copilot.
Синтаксис запроса
Тестирование GitHub Copilot поддерживает два метода запроса: структурированный синтаксис и запросы свободной формы.
Структурированный синтаксис
@Test #<target> Используйте синтаксис для создания тестов для определенных элементов кода:
@Test #<target>
Где #<target> может быть:
- Член, класс, файл, проект или решение
-
Дифф Git для тестирования текущих изменений (
#git_changes) - Несколько входных данных одного типа (например, несколько классов или нескольких файлов)
Замечание
Смешанные типы входных данных не поддерживаются. Например, нельзя объединить файл и проект в одном запросе.
Примеры:
-
@Test #BankAccount— создание тестов для класса BankAccount -
@Test #git_changes— Сгенерируйте тесты для текущих незафиксированных изменений -
@Test #MyProject— создание тестов для всего кода в MyProject
Запросы свободной формы
Используйте естественный язык для описания того, что вы хотите протестировать:
@Test <your prompt>
Примеры:
| Подсказка | Description |
|---|---|
@Test class Foo |
Создание тестов для определенного класса |
@Test generate tests for the core logic in my #solution |
Целевые области базы кода |
@Test write unit tests for my current changes |
Генерировать тесты для незафиксированных изменений в Git |
@Test fix my failing tests |
Попросите Copilot исправить неудачные тесты |
@Test class Bar, targeting 80% code coverage |
Указание целевого объекта покрытия |
@Test use xUnit with FluentAssertions |
Указание платформ тестирования и соглашений |
Подсказка
В произвольных запросах можно предоставить конкретные инструкции по фреймворкам тестирования, использовать библиотеки для имитации, стили утверждений и конвенции тестирования.
Дополнительные команды
Тестирование GitHub Copilot предоставляет команды для справки и управления предпочтениями:
| Command | Description |
|---|---|
@Test /help |
Отображение сообщения справки с доступными командами и синтаксисом |
@Test /clear-preferences |
Очистка сохраненных параметров пользователя, включая параметры согласия |
Создание и запуск тестов
Откройте существующий проект C#, который нуждается в новых тестах.
Если у вас нет существующего проекта, можно создать новый проект, а затем использовать пример кода приложения Банка для экспериментов с модульным тестированием. Скопируйте начальный пример кода из раздела Создание и запуск модульных тестов для .NET в
Program.cs.Создайте проект.
Убедитесь, что проект выполняет сборку без ошибок, чтобы упростить процесс.
В Visual Studio выберите View > GitHub Copilot Chat.
Используйте любой из методов запроса на запуск тестирования GitHub Copilot.
Для примера приложения Bank используйте одно из следующих вариантов:
- Структурированный:
@Test #BankAccount - Freeform:
@Test generate comprehensive tests for the BankAccount class
Замечание
Вы можете быть в режиме Ask или в режиме Агента при вводе
@Testкоманды. Результаты не отличаются.Команда Test отображается в чате следующим образом, указывая, что команда распознается.
- Структурированный:
В окне чата нажмите кнопку "Отправить".
Тестирование GitHub Copilot для .NET инициирует итеративный процесс анализа кода, создания нового проекта для модульных тестов, создания тестов, сборки и выполнения тестов.
Создание тестов — это длительный процесс. В зависимости от области целевого объекта (файла, проекта, решения и т. д.) может потребоваться некоторое время.
При создании модульных тестов тесты отображаются в отдельном тестовом проекте в решении.
Обозреватель тестов показывает результаты. Если обозреватель тестов не открывается автоматически с помощью тестирования GitHub Copilot, выберитеобозреватель тестов>.
На этом этапе вы можете вручную использовать обозреватель тестов для продолжения выполнения тестов или чата с Copilot о результатах теста. Вы также можете использовать Copilot для отладки неудачных тестов. Дополнительные сведения см. в разделе "Отладка модульных тестов".