Изучение средств модульного тестирования и среды

Завершено

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

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

Внимание

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

Поддержка GitHub Copilot для модульного тестирования

GitHub Copilot могут помочь в следующих задачах тестирования:

  • Настройте платформы тестирования: получите справку по настройке правильной платформы тестирования и расширений VS Code для проекта и языка.
  • Создайте код теста: создайте модульные тесты, тесты интеграции и комплексные тесты, охватывающие код приложения.
  • Обработка пограничных вариантов: создание комплексных наборов тестов для покрытия пограничных случаев и условий ошибок.
  • Исправление неудачных тестов: получение предложений по исправлению сбоев теста.
  • Обеспечение согласованности: персонализация GitHub Copilot для создания тестов, которые соответствуют рекомендациям по написанию кода проекта.

Настройка платформы тестирования

Чтобы ускорить рабочий процесс тестирования, GitHub Copilot поможет настроить платформу тестирования и расширения VS Code для проекта. GitHub Copilot предлагает соответствующие платформы тестирования на основе типа проекта.

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

  2. /setupTests Введите команду в поле ввода чата.

  3. Следуйте инструкциям GitHub Copilot по настройке проекта.

Написание модульных тестов с помощью GitHub Copilot

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

Модульные тесты можно создать с помощью следующих средств GitHub Copilot:

  • Представление чата: используйте представление чата для создания модульных тестов для проекта, класса или метода с помощью метода Ask, Plan или Agent.
  • Встроенный чат: используйте встроенный чат для создания модульных тестов для выбранных классов или методов.
  • Интеллектуальные действия: используйте смарт-действие "Создать тесты", чтобы создавать модульные тесты для выбранного кода без написания запроса.
  • Завершение строки кода: используйте завершения строки кода, чтобы предложить добавление модульных тестов для существующего тестового случая.

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

GitHub Copilot интегрируется с обозревателем тестов в Visual Studio Code и может помочь в исправлении неудачных тестов.

  1. В Проводнике тестов наведите указатель мыши на неудачный тест.

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

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

В качестве альтернативы, вы можете:

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

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

  3. Следуйте рекомендациям GitHub Copilot по исправлению теста

Подсказка

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

Поддержание согласованности

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

  • Указание предпочтительных платформ тестирования
  • Определение соглашений об именовании для тестов
  • Настройка параметров структуры кода
  • Запрос конкретных шаблонов тестов или методологий

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

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

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

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

Расширение комплекта средств разработки C# для Visual Studio Code предоставляет широкий набор функций, которые помогут вам создавать модульные тесты для проектов C# и управлять ими. Он включает следующие компоненты.

  • Обозреватель тестов — представление дерева для отображения всех тестовых вариантов в рабочей области.
  • Запуск/отладка тестов — возможность для запуска и отладки тестов.
  • Просмотр результатов теста — функция для просмотра результатов теста.
  • Команды тестирования — команды для выполнения всех тестов, выполнения неудачных тестов и многого другого.
  • Параметры тестирования — параметры, относящиеся к тестированию.
  • Пакет платформы тестирования

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

  • xUnit
  • NUnit
  • MSTest

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

Включение тестового фреймворка

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

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

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

xUnit

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

Сочетание Visual Studio Code и чата GitHub Copilot предоставляет мощную среду для создания и выполнения модульных тестов для проектов C#.

Процесс модульного тестирования можно разбить на три этапа:

  • Используйте Visual Studio Code для создания тестового проекта для модульных тестов.
  • Используйте GitHub Copilot Чат для разработки модульных тестов для проекта C#.
  • Используйте Visual Studio Code и комплект средств разработки C# для запуска модульных тестов и управления ими.

Создание тестового проекта

Необходимо создать тестовый проект, который будет использоваться для хранения модульных тестов. Для выполнения следующих задач можно использовать Visual Studio Code.

  1. Используйте палитру команд для создания тестового проекта, использующего указанную платформу тестирования.

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

Этот процесс создает новый проект и настраивает средство выполнения теста для выбранной платформы.

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

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

  • Напишите модульные тесты для вашего тестового фреймворка на основе кода, открытого в редакторе, или выделенного фрагмента кода. GitHub Copilot определяет платформу тестирования и стиль написания кода и создает соответствующие фрагменты кода.

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

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

Рассмотрим следующие сценарии, когда вы просите чат GitHub Copilot сгенерировать модульные тестовые случаи:

  • Если один метод отображается в полном объеме в редакторе, можно попросить GitHub Copilot Чат создать модульный тест для метода, введя Write a unit test for the method in the #editor.

  • Если в редакторе есть несколько методов или предполагаемый метод выходит за рамки видимых в редакторе, выберите код, для которого нужно создать модульный тест, а затем попросите GitHub Copilot: #selection write a unit test for the selected code.

Запуск модульных тестов и управление ими в Visual Studio Code

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

  • Запуск/отладка тестовых случаев: C# Dev Kit создает кнопки быстрого доступа (зеленая кнопка воспроизведения) слева от определения класса и метода. Чтобы запустить целевые тестовые случаи, нажмите зеленую кнопку воспроизведения. Вы также можете щелкнуть его правой кнопкой мыши, чтобы просмотреть дополнительные параметры.

  • Обозреватель тестов: обозреватель тестов — это представление дерева для отображения всех тестовых случаев в рабочей области. Чтобы открыть его, нажмите кнопку "Колба" на левой панели действий Visual Studio Code. Вы также можете запустить и отладить тестовые случаи и просмотреть результаты теста.

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

  • Visual Studio Code команды тестирования: существуют команды тестирования (например, Запуск всех тестов), которые можно найти, выполнив поиск Test: в палитре команд.

  • Visual Studio Code параметры тестирования: Существуют параметры Visual Studio Code, специфичные для тестирования, которые можно найти, введя 'Тестирование' в редакторе параметров.

Итоги

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

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