Source: Изолированные тесты

← Rendered

markdown source:

---
description: Изолированные тесты
tags: tests
title: Изолированные тесты
---
Или чистые [[модульные-тесты]] - проверяют строго дин фрагмент кода, его успешность или неуспешность и не зависят от другого внешнего кода. Только этот конкретный код, без зависимостей, способен заставить не сработать такой модульный тест.

Внешние системы, в данном контексте, это базы данных, другие функции, которыми мы не управляем. Если тесты зависят от таких систем, их называют [[интеграционные-тесты]].

Цикл тестирования:

- выполнить тесты
- внести изменение в код
- повторить

Плюсы:

- Чистые модульные тесты как правило самые быстрые. Более быстрые тесты означают более быструю разработку
- Хорошие изолированные модульные тесты помогают формировать более оптимальную структуру программного кода.

Минусы;

- изолированные тесты труднее читать и писать
- изолированные тесты не тестируют интеграцию автоматически и решается - это сложно - через интерфейс контракта
- изолированные модульные тесты почти не отлавливают неожиданные дефекты
- [[тесты-с-имитацией]] могут создавать слишком плотную привязку к реализации. Особенно это опасно с АПИ, которым вы не управляете.


[модульные-тесты]: %D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%8B "Модульные тесты"
[интеграционные-тесты]: %D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%B5-%D1%82%D0%B5%D1%81%D1%82%D1%8B "Интеграционные тесты"
[тесты-с-имитацией]: %D1%82%D0%B5%D1%81%D1%82%D1%8B-%D1%81-%D0%B8%D0%BC%D0%B8%D1%82%D0%B0%D1%86%D0%B8%D0%B5%D0%B9 "Тесты с имитацией"