Планирование и автоматизация тестовых рабочих процессов с помощью режимов плана и агента

Завершено

Предыдущий модуль использовал режим агента для создания тестов из одного запроса представления чата. Более крупные задачи тестирования часто нуждаются в большей структуре: выбор того, что нужно тестировать, создавать тесты в нескольких файлах и запускать полученный набор. Агент Plan и более длительные сеансы Agent в представлении Chat предназначены для задач такого уровня. Используйте агент плана для разработки тестовой стратегии перед написанием любого кода, а затем передать утвержденный план агенту для автономной многофакторной реализации.

Сравнение агентов Ask, Plan и Agent

В режиме чата доступны три встроенных локальных агента. Каждая из них оптимизирована для разного типа задачи тестирования.

Agent лучше всего подходит для Обычное использование в модульном тестировании
Спросить Анализ в режиме только чтения и вопросы и ответы по вашему коду Изучите пограничные варианты, варианты платформы или примеры тестов перед написанием кода.
План Структурированные, пошаговые планы реализации Создайте стратегию тестирования с несколькими файлами, которую можно просмотреть перед реализацией.
Agent Автономные, многофайловые рабочие процессы программирования Создайте тесты непосредственно в тестовом проекте, запустите их и выполните итерацию по сбоям.

Выберите агента в списке выбора агента в окне чата. Вы можете переключаться между агентами в любой момент сеанса.

Important

При использовании представления чата с агентом GitHub Copilot может выполнять несколько запросов уровня "Премиум" для выполнения одной задачи. Запросы уровня "Премиум" используются как запросами, инициированными пользователем, так и последующими действиями, которые агент выполняет от вашего имени. Общее количество используемых запросов уровня "Премиум" зависит от сложности задачи, количества шагов и выбранной модели.

Используйте агент Plan для разработки стратегии тестирования

Агент плана создает подробный план реализации перед записью любого кода. Агент изучает задачу, задает уточняющие вопросы и предлагает пошаговый план, который можно просмотреть, уточнить и передать агенту.

Планирование набора модульных тестов:

  1. Откройте файл или файлы, содержащие код, который требуется протестировать.

  2. Откройте представление чата и выберите План из селектора агента. Или введите /plan, а затем описание задачи.

  3. Введите запрос, описывающий тесты, которые необходимо создать. Рассмотрим пример.

    I need unit tests for the methods in the Calculator class. Use xUnit. Include tests for success, failure, and boundary conditions. Place the new tests in the Calculator.Tests project.

  4. Ответьте на все уточняющие вопросы.

    Агент Plan может спросить о предпочтениях относительно тестового фреймворка, правилах именования или о том, как обрабатывать зависимости, прежде чем составить план.

  5. Просмотрите предлагаемый план.

    План обычно включает в себя сводку высокого уровня, разбивку шагов, этапы проверки для выполнения тестов и документированные решения. Итерируйтесь с агентом планирования, пока план не будет соответствовать тому, что вы хотите создать.

  6. Передайте план реализации.

    После завершения плана выберите вариант запуска реализации. Вы можете реализовать план в одном сеансе чата или запустить фоновый или облачный сеанс для автономной работы над реализацией. Вы также можете открыть план в редакторе для дальнейшего просмотра.

Агент плана особенно полезен, если задача тестирования охватывает несколько файлов, требует новых тестовых классов или приспособлений или должна соответствовать соглашениям группы, которые еще не записаны в инструкциях.

Использование агента для автоматизации тестовых рабочих процессов

Агент автоматизирует многоэтапные задачи во всём вашем рабочем пространстве. Для модульного тестирования агент можно использовать для формирования шаблонов тестового проекта, создания файлов тестов, запуска результирующего теста, создания отчетов о тестах или устранения проблем, возникающих во время тестового выполнения.

Чтобы использовать агент для создания и запуска модульных тестов, выполните следующие действия:

  1. Откройте файл, содержащий код, который требуется протестировать.

  2. Откройте представление чата и выберите агент из средства выбора агента.

  3. Позвольте агенту определить контекст.

    При использовании агента GitHub Copilot автоматически идентифицирует соответствующие файлы. Вы также можете вложить дополнительный контекст с помощью кнопки "Добавить контекст " или перетащите файлы в представление чата.

  4. При необходимости щелкните значок "Сервис" , чтобы выбрать инструменты, которые агент может использовать для задачи.

    Полезные средства для тестирования включают средства редактирования файлов, средство терминала для выполнения dotnet testи любые средства тестирования, предоставляемые расширением.

  5. Введите запрос, определяющий задачу. Рассмотрим пример.

    Ensure that a suitable unit test project is prepared for the selected code file. Create a test file in the unit test project that includes unit tests for all methods in the selected file. Unit tests should be written in C# and use the xUnit framework. Run the tests to ensure expected results.

  6. Следите за работой агента.

    • Подтвердите или отклоните вызовы средства и команды терминала, которые предлагает агент. Например, можно подтвердить команду для выполнения тестов или создания тестового отчета.
    • Прерывайте работу агента, если необходимо изменить контекст, переключить средства или настроить область задачи.
  7. Просмотрите файлы, созданные или обновлённые агентом, а затем сохраните или отклоните изменения.

    При необходимости используйте последующие запросы для уточнения конкретных тестов.

Определите, когда использовать Plan, Agent или оба варианта

Используйте следующее руководство, чтобы выбрать между агентами:

  • Сначала используйте агент Plan, если в задаче по тестированию есть неоднозначности, задействовано несколько файлов или нужно уточнить принятые в команде соглашения. План становится контрактом, который можно просмотреть до написания любого кода.
  • Используйте агента напрямую, если задача четко определена и вы хотите, чтобы GitHub Copilot подготавливал структуру, генерировал код и запускал тесты без промежуточного этапа планирования.
  • Используйте Plan, а затем передайте задачу Агенту, если вам нужен план, который можно проверить, и автономная реализация. Эта комбинация обеспечивает максимальный контроль над охватом, при этом автоматизируя работу.