Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Unit-тесты

Общие сведения о Unit-тестах

Определение 1

Unit-тесты (модульные тесты) – это специальным образом составленные программные коды, предназначенные для тестирования отдельных модулей исходного кода приложения, в процессе которого проверяется правильность их работы.

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

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

Применяемые на разных уровнях приложения unit-тесты обычно создаются таким образом, чтобы они были изолированы от внешней логики программы, оставляя все остальные её части работающими в стандартном режиме во время тестирования отдельных модулей.

Замечание 1

Итак, unit-тестирование позволяет повысить качество написанного кода, а также сделать процесс разработки приложений более гибким и надёжным.

Основные понятия, связанные с unit-тестированием

Основные понятия, связанные с unit-тестированием:

  1. Code Coverage – покрытие тестов, определяющее наиболее важную оценку качества тестирования проекта. При создании документации обычно указывается процент кода, покрытого тестами.
  2. Test-driven development (TDD) –разработка через тестирование, то есть сначала пишется тест, а лишь затем сам код под этот тест. Такой подход позволяет сделать код более простым и понятным, поскольку в тесте уже заранее определяется и проверяется, что будет выполнять будущий код программы, который в результате получится сразу же безошибочным.
  3. Behavior-driven development (BDD) – это разработка через поведение. Данный подход основан на TDD и заключается в ориентировании на примеры поведения системы при разработке программного продукта.
  4. Test Case (Тестовый сценарий) – сценарий, пошагово задающий конкретные условия и параметры, которые потребуются для проверки кода на каждом этапе его выполнения.
  5. Fixture (Фикстуры) – это состояние среды тестирования, при котором должен успешно пройти проверку испытуемый метод, то есть это заранее известный набор объектов с описанием их поведения в определённых условиях.
«Unit-тесты» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Этапы unit-тестирования

Unit-тест предполагает прохождение следующих этапов:

  1. Определение данных, которые будут тестироваться (задание фикстур).
  2. Вызов проверяемого метода (его применение в действии в реальных условиях).
  3. Проверка полученных результатов (их сопоставление с предполагаемыми ожиданиями).
Замечание 2

Для того чтобы тест был направлен на проверку какого-то определённого модуля из общего кода программы, нужно отделить его от других слоёв приложения. Это можно сделать при помощи таких специальных объектов, как моки (mocks), заглушки (stubs) и шпионы (spies).

Рассмотрим подробнее, для чего они используются.

Моки – это определённым образом настроенные объекты, которые проверяются в каждом очередном тесте на совпадение с ожидаемыми результатами.

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

Их главное отличие состоит в том, что моки используются для проверки различных взаимодействий в программе (они связаны с какими-то ожиданиями), а стабы – при тестировании отдельного состояния проекта (они имитируют определённое состояние, ничего не сверяя). При этом рекомендуется использовать не более одного мока на тест, чтобы не нарушить эффективные принципы unit-тестирования. А вот стабов в одном тесте может быть и много, в зависимости от того, сколько их потребуется, так как они не способны испортить сам тест.

Дата написания статьи: 04.08.2021
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot