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

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

Примечание.

Команда меню Создать модульные тесты доступна только для кода C#. Чтобы использовать этот метод с .NET Core или .NET 5+, требуется Visual Studio 2019 или более поздней версии.

Команда меню Создать модульные тесты является расширяемой и может использоваться для создания тестов для MSTest, MSTest V2, NUnit и xUnit.

Начать

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

Using the Create unit tests command

Using the Create unit tests command and menu dialog

Если вы не видите параметры платформы тестирования для NUnit или xUnit, см. раздел Использование сторонних платформ модульного тестирования.

Настройка признаков модульных тестов

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

Setting unit test traits

Using the Create unit tests traits

Использование сторонних платформ модульного тестирования

Чтобы автоматически создавать модульные тесты для NUnit или xUnit, установите одно из следующих расширений платформы тестирования из Visual Studio Marketplace:

Когда следует использовать эту функцию?

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

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