Как я могу пропагандировать модульное тестирование в частном коде?

Как я могу пропагандировать модульное тестирование в частном коде?
Как я могу пропагандировать модульное тестирование в частном коде? - anniespratt @ Unsplash

Возможно, ваши коллеги путают настоящие модульные тесты с интеграционными тестами. Если ваш продукт является (или имеет) API, интеграционные тесты могут быть запрограммированы как тестовые случаи NUnit. Некоторые люди ошибочно полагают, что это и есть модульные тесты.

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

  • Покрытие тестов. Измерьте фактический процент покрытия тестами интеграционных тестов. Это проверка реальности для тех, кто никогда не проверял покрытие тестов. Поскольку трудно проверить все логические пути, когда входные данные находятся на нескольких уровнях, покрытие тестов составляет от 20% до 50%. Чтобы получить большее покрытие, вашим коллегам нужно написать настоящие, изолированные юнит-тесты.
  • Конфигурация. Разверните то же самое тестируемое программное обеспечение и, возможно, вы сможете продемонстрировать своим коллегам, насколько сложно запустить их тесты в другой среде. Пути к различным файлам, строки подключения к БД, URL-адреса удаленных сервисов и т.д. -- все это складывается воедино.
  • Время выполнения. Если только тесты не являются настоящими модульными тестами и не могут выполняться в памяти, они будут занимать много времени.

Рекомендую посмотреть эти видео для лучшего погружения в вопрос:

Прикрепленное видео 1 - 2013.01.30 Михаил Вайсман - Ruby-ть или не Ruby-ть

Прикрепленное видео 2 - Евгений Макаров и Виталий Илюхин "TDD. Обзорный курс для новичков и профи"


LetsCodeIt, 22 мая 2023 г., 07:44