Расширение тестов с помощью фантомного текста и исправление неудачных тестов

Завершено

После того как тестовый проект содержит несколько тестовых вариантов, GitHub Copilot поможет расширить охват и устранить сбои, не покидая Visual Studio Code. Подсказки в виде призрачного текста добавляют дополнительные тесты в файл, который вы редактируете, а Test Explorer и команда /fixTestFailure помогают диагностировать и исправлять сбойные тесты. Вместе эти функции закрывают цикл в рабочем процессе модульного тестирования, запущенном в представлении чата.

Расширьте охват тестов с помощью предложений призрачного текста

Фантомный текст — это встроенное автодополнение кода, появляющееся по мере ввода в редакторе. Если тестовый файл уже содержит несколько тестовых вариантов, GitHub Copilot использует существующие шаблоны, чтобы предложить аналогичные тестовые варианты для дополнительных сценариев. Это самый быстрый способ расширить охват после первоначального тестирования.

Чтобы дополнить тестовый файл текстом-подсказкой:

  1. Откройте тестовый файл, содержащий по крайней мере один или два полных тестовых случая.

  2. Поместите курсор в конец последнего тестового случая и нажмите клавишу ВВОД , чтобы начать новую строку.

  3. Начните вводить новый метод тестирования или писать описательный комментарий, например // Test that ProcessOrder throws when the order total is negative.

    GitHub Copilot отображает фантомное текстовое предложение, которое завершает метод теста на основе окружающего кода, импорта и существующих шаблонов тестирования.

  4. Нажмите клавишу TAB , чтобы принять предложение, или нажмите клавишу ESC , чтобы закрыть его.

  5. Уточните принятое предложение по мере необходимости. Вы можете продолжать печатать, чтобы продолжить тест, или вызвать следующую подсказку призрачного текста, нажав Enter.

Текст призрака лучше всего работает, когда:

  • Тестовый файл уже содержит шаблон, которому вы хотите, чтобы GitHub Copilot следовал (например, структуру Arrange-Act-Assert или атрибут параметризованного теста).
  • Метод, на который выполняется тестирование, ссылается в файле с помощью using директивы или импортированного пространства имен.
  • Комментарий четко указывает сценарий, который требуется протестировать.

Tip

Используйте текст-призрак, чтобы быстро добавлять граничные случаи в существующий тестовый класс. Для более существенной работы, например создания совершенно нового тестового класса, вернитесь в представление чата и используйте агенты Ask, Plan или Agent.

Исправление неудачных тестов из обозревателя тестов

Если тест завершается сбоем, обозреватель тестов предоставляет точку входа одним щелчком в GitHub Copilot.

  1. Запустите тесты из обозревателя Test Explorer или с помощью зеленой кнопки запуска рядом с методом теста.

  2. В обозревателе тестов наведите указатель мыши на непройденный тест.

  3. Нажмите кнопку "Исправить сбой теста " (значок sparkle).

    GitHub Copilot открывает сеанс чата, присоединяет неудачный тест и его выходные данные в качестве контекста и предлагает исправление.

  4. Просмотрите предлагаемое исправление.

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

  5. Примените или отмените предложение.

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

Исправление неудачных тестов с помощью /fixTestFailure

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

  1. Откройте представление чата.

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

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

  4. Следуйте рекомендациям GitHub Copilot, чтобы исправить неудачный тест, а затем повторно запустите тест, чтобы подтвердить исправление.

Разрешить агенту отслеживать и исправлять ошибки автоматически

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

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

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

  2. Укажите запрос, включающий выполнение тестов, например: Run the xUnit tests in the Calculator.Tests project. If any tests fail, propose and apply fixes, then rerun the tests until they pass.

  3. Подтвердите или отклоните вызовы средства и команды терминала, которые предлагает агент.

  4. Просмотрите изменения, примененные агентом, прежде чем принимать их.

Выбор подходящего инструмента для задания

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

  • Ghost text лучше всего использовать, когда вы хотите добавить больше тестовых сценариев в существующий тестовый файл, который уже демонстрирует этот шаблон.
  • Исправление сбоя теста в обозревателе тестов лучше всего, если один тест завершается сбоем, и требуется быстрое, ориентированное исправление.
  • /fixTestFailure в окне чата лучше всего подходит, когда нужно добавить дополнительный контекст или разобрать несколько сбоев.
  • Запуски тестов, управляемые агентом лучше всего подходят, когда вы хотите, чтобы GitHub Copilot запускал тесты, диагностировал сбои и вносил исправления в несколько файлов за один сеанс.

Вместе эти средства завершают рабочий процесс модульного тестирования. Представление Chat, агент Plan и Agent создают начальные тесты; ghost text добавляет дополнительное покрытие; а функции исправления сбоев тестов поддерживают набор тестов в рабочем состоянии по мере изменения вашего кода.