Изолированные тесты
Теги: tests
Или чистые [модульные-тесты] - проверяют строго дин фрагмент кода, его успешность или неуспешность и не зависят от другого внешнего кода. Только этот конкретный код, без зависимостей, способен заставить не сработать такой модульный тест.
Внешние системы, в данном контексте, это базы данных, другие функции, которыми мы не управляем. Если тесты зависят от таких систем, их называют [интеграционные-тесты].
Цикл тестирования:
- выполнить тесты
- внести изменение в код
- повторить
Плюсы:
- Чистые модульные тесты как правило самые быстрые. Более быстрые тесты означают более быструю разработку
- Хорошие изолированные модульные тесты помогают формировать более оптимальную структуру программного кода.
Минусы;
- изолированные тесты труднее читать и писать
- изолированные тесты не тестируют интеграцию автоматически и решается - это сложно - через интерфейс контракта
- изолированные модульные тесты почти не отлавливают неожиданные дефекты
- [тесты-с-имитацией] могут создавать слишком плотную привязку к реализации. Особенно это опасно с АПИ, которым вы не управляете.