Создание модульных тестов с помощью режимов представления чата

Завершено

Представление чата в Visual Studio Code предоставляет три встроенных агента, которые можно использовать для создания модульных тестов: Ask, Plan и Agent. Каждый агент имеет свои собственные преимущества, и лучший агент, который следует использовать, зависит от конкретной задачи.

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

Это важно

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

Создание модульных тестов с помощью агента Ask

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

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

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

  2. Откройте представление чата и запустите новый сеанс чата с помощью агента Ask.

  3. Добавьте контекст в сеанс чата.

    • Вы можете добавить контекст в сеанс чата, перетаскивая файлы из представления обозревателя Visual Studio Code в представление чата. Можно также использовать кнопку "Добавить контекст ".
    • Внешние файлы можно открыть в редакторе кода, чтобы включить ресурсы, которые не являются частью рабочей области, и использовать их для предоставления определенного контекста. Например, можно открыть файлы markdown, содержащие рекомендации участника или контактные данные, а затем использовать кнопку Добавить контекст, чтобы добавить их в контекст представления чата.
    • Вы можете использовать переменную чата @workspace , чтобы указать рабочую область в рамках запроса. Контекст рабочей области полезен при создании тестов для нескольких функций или методов в файле или при создании тестов для всего файла.
  4. Введите запрос на модульные тесты для кода в файле.

    • Например: "@workspace /explain I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework."
  5. Просмотрите предлагаемые модульные тесты и уточните результаты, используя обновленные запросы, если это необходимо.

  6. Переместите предлагаемые модульные тесты в тестовый файл.

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

    • Тестовые файлы обычно сохраняются в отдельном каталоге test в проекте, настроенном для модульных тестов. Ваши варианты зависят от структуры вашего проекта и используемой платформы тестирования.
    • Вы можете использовать агент Ask, чтобы предложить обновления для определенных тестов после создания тестового файла или использовать другие средства GitHub Copilot для поддержки обновлений.
  8. Запустите тесты, чтобы убедиться, что они проходят и проверяют функциональность вашего кода.

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

  10. Сохраните файл еще раз после внесения изменений в тесты.

Используйте агента Plan, чтобы планировать модульные тесты.

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

Чтобы спланировать модульные тесты с помощью агента плана, выполните следующие действия.

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

  2. Откройте окно чата и запустите новый сеанс чата с использованием агента Plan. Вы можете выбрать План из раскрывающегося списка агентов или ввести /plan и затем описание вашей задачи.

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

    • Например: "I need to create unit tests for the code in this file. The tests should be written in Python and use the unittest framework. Create a test file in the same directory as the code file."
  4. Ответьте на все уточняющие вопросы, задаваемые агентом плана после изучения задачи.

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

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

    • Вы можете реализовать план в одном сеансе чата или запустить фоновый или облачный сеанс агента для автономной работы над реализацией.
    • При запуске реализации плана вы по-прежнему можете указать уточняющие инструкции, такие как "Начать с пользовательского интерфейса" или "только шаг 1 и 2".

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

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

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

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

  2. Откройте представление чата и запустите новый сеанс чата с помощью агента.

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

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

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

    • Вы можете выбрать средства, которые вы хотите использовать для реагирования на запрос. Например, можно выбрать средство обозревателя тестов для выполнения тестов или средства терминала для выполнения команд.
    • Вы также можете выбрать средство GitHub Copilot для использования возможностей создания кода GitHub Copilot.
  5. Введите запрос, определяющий предполагаемые задачи.

    • Например: "Ensure that a suitable unit tests 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. Просмотрите файлы, которые агент создал или обновил во время указанных задач, а затем сохраните или отмените обновления.

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

Сводка

Режим чата GitHub Copilot предоставляет три встроенных агента, которые можно использовать для создания модульных тестов: Ask, Plan и Agent. Каждый агент имеет свои собственные преимущества, и лучший агент, который следует использовать, зависит от конкретной задачи. Агент Ask оптимизирован для получения вопросов о проектах кода, темах программирования и общих концепциях технологий. Агент плана оптимизирован для создания структурированного пошагового плана реализации перед написанием кода. Агент оптимизирован для запуска агентного рабочего процесса программирования.