Поиск…


Вступление

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

В этом руководстве будет использоваться стандартная среда MSTest и стандартный инструмент анализа кода, который доступен в Visual Studio.

Руководство было написано для Visual Studio 2015, поэтому, возможно, в других версиях разные вещи.

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

  • Откройте проект C #
  • Щелкните правой кнопкой мыши по решению -> Добавить -> Новый проект ...
  • (Рисунок 1)

введите описание изображения здесь

  • Перейти к Installed -> Visual C # -> Test
  • Нажмите «Проект тестирования единицы»
  • Дайте ему имя и нажмите «ОК».
  • (Фигура 2)

введите описание изображения здесь

  • Проект блока тестирования добавлен в решение
  • (Рисунок 3)

введите описание изображения здесь

Добавление ссылки на приложение, которое вы хотите проверить

  • В модульном тестовом проекте добавьте ссылку на проект, который вы хотите проверить
  • Щелкните правой кнопкой мыши ссылку -> Добавить ссылку ...
  • (Рисунок 3)

введите описание изображения здесь

  • Выберите проект, который вы хотите проверить.
  • Перейти в Проекты -> Решение
  • Установите флажок проекта, который вы хотите проверить, -> нажмите «ОК».
  • (Рисунок 4)

введите описание изображения здесь

Два метода создания модульных тестов

Способ 1

  • Перейдите на свой тестовый класс в модульном тестовом проекте
  • Напишите единичный тест
[Testclass]
public class UnitTest1
{
    [TestMethod]
    public void TestMethod1()
    {
        //Arrange
        ApplicationToTest.Calc ClassCalc = new ApplicationToTest.Calc();
        int expectedResult = 5;

        //Act
        int result = ClassCalc.Sum(2,3);

        //Assert
        Assert.AreEqual(expectedResult, result);
    }
}

Способ 2

  • Выполните метод, который хотите проверить
  • Щелкните правой кнопкой мыши на методе -> Создать единичные тесты
  • (Рисунок 4)

введите описание изображения здесь

  • Установить тестовую структуру в MSTest
  • Задайте тестовый проект на название проекта тестирования устройства
  • Установите выходной файл на имя класса модульных тестов
  • Установите код для тестового метода на один из вариантов, которые вы предпочитаете
  • Другие параметры можно редактировать, но это не обязательно

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

  • (Рисунок 5)

введите описание изображения здесь

  • Как вы видите ниже, он создает базу модульного теста для заполнения вами
  • (Рисунок 6)

введите описание изображения здесь

Выполнение модульных тестов в Visual Studio

  • Чтобы увидеть, что модульные тесты переходят в Test -> Windows -> Test Explorer
  • (Рисунок 1)

введите описание изображения здесь

  • Это откроет обзор всех тестов в приложении
  • (Фигура 2)

введите описание изображения здесь

  • На рисунке выше вы можете видеть, что пример имеет один единичный тест, и он еще не запущен

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

  • Вы можете выполнить одно или несколько тестов с помощью «Запустить все» или «Запустить ...

  • Вы также можете запускать тесты и изменять настройки в меню «Тест» (рисунок 1)

Анализ покрытия кода в Visual Studio

  • Чтобы увидеть, что модульные тесты идут в Test -> Windows -> Результаты покрытия кода
  • (Рисунок 1)

введите описание изображения здесь

  • Он откроет следующее окно
  • (Фигура 2)

введите описание изображения здесь

  • Теперь окно пустое
  • Перейдите в меню «Тест» -> «Анализ покрытия кода»
  • (Рисунок 3)

введите описание изображения здесь

  • Тесты также будут запущены (см. Результаты в Test Explorer)
  • Результаты будут показаны в таблице, в которой вы можете увидеть, какие классы и методы покрываются модульными тестами, а какие нет
  • (Рисунок 4)

введите описание изображения здесь



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow