Введение
Существует множество способов протестировать ваше приложение. Модульное тестирование находится в нижней части пирамиды тестирования.
По мере того, как мы поднимаемся по пирамиде, время на выполнение тестирования также увеличивается. Это происходит главным образом потому, что в нижней части пирамиды мы наиболее изолированы. Следовательно, выполнять модульное тестирование быстрее по сравнению с другими, и это также намного дешевле.
Что такое модульное тестирование?
Модульное тестирование предназначено для тестирования вашего класса или функций без внешних зависимостей. Вы тестируете основную логику своего кода в полной изоляции.
По мере того, как мы продвигаемся вверх по пирамиде тестирования, мы также начинаем тестирование с внешними зависимостями и, наконец, наверху, мы тестируем сквозной поток приложения.
Настраивать
- Откройте Visual Studio и создайте консольное приложение с .NET Framework.
Обратите внимание на один важный момент:
Однако здесь есть два консольных приложения: одно для .NET Core, а другое для .NET Framework, поэтому обязательно используйте одно с .NET framework. В противном случае вы столкнетесь с проблемами при ссылке на проект в проекте модульного тестирования.
- После создания проекта просто добавьте класс, который мы собираемся протестировать. Я создал класс телефона.
Класс выше довольно прост. Одно свойство кредита, которое показывает текущий кредит. Кроме того, один общедоступный метод MakePhoneCall возвращает значение true или false в зависимости от того, можете ли вы позвонить или нет, в зависимости от кредита.
- После создания классов в вашем консольном приложении нам нужно добавить проект модульного тестирования в ваше решение для написания модульного тестирования.
- Теперь мы пишем определение тестового класса и тестового метода в вашем проекте модульного тестирования.
В тестовых классах мы должны добавить декораторы над классом и функциями, которые сообщают Visual Studio, что это тестовые классы и тестовые функции, которые необходимо запустить.
- Теперь, когда мы создали класс, который необходимо протестировать, и класс, который будет выполнять тесты, давайте запустим эти тесты.
- Перейдите к опции «Тест» и нажмите «Выполнить все тесты».
- После запуска всех тестов он покажет вам результаты в Test Explorer.
- Это показывает, что все тесты прошли успешно.
Заключение
Модульные тесты добавляют дополнительные затраты времени. Однако в то же время он экономит много времени, создавая более прочные сборки. Это дает вам много места для рефакторинга кода без риска нарушить логику. Можно легко провести рефакторинг кода и запустить модульные тесты, что дает большую уверенность в рефакторинге кода. Код также загружен на GitHub.