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

Теги: tests 

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

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

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

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

Плюсы:

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

Минусы;

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