Как писать тестируемый код на PHP и не только

Всем известно, что чтобы успешно писать юнит-тесты, особенно, не применяя TDD, сам код должен быть написан в определенной манере, так, чтобы его было легко тестировать. По мотивам статьи Unit Testing – The Big Picture я составил/перевел краткую шпаргалку (или чек-лист), на что обратить внимание при нового написании кода (в первую очередь на PHP, но не только).

  • Принципы SOLID и DRY
  • Не использовать ключевое слово new в конструкторе
  • Не использовать циклы в конструкторе (а также switch и if)
  • Никаких статичечких методов, параметров, классов
  • Никаких методов setup() – объект должен быть полностью проинициализирован в конструкторе
  • Никаких синглтонов (глобальных состояний) и других нетестируемых антипаттернов
  • Никаких «всемогущих объектов» (God object)
  • Нет классам со смешанным предназначением
  • Никаких скрытых зависимостей

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.