С чего начать и как писать Unit-тесты для проектов на PHP?

Доброго времени суток!
Буду весьма признателен, если поделитесь со мной Best Practice на тему написания Unit-тестов.

Интересно абсолютно все на тему тестирования кода, так как последнее время все чаще и чаще сталкиваюсь с возникновением проблем в рабочем коде после рефакторинга или добавления нового функционала.
  • Вопрос задан
  • 12962 просмотра
Пригласить эксперта
Ответы на вопрос 4
janson
@janson
PHP-разработчик
1. установить PHPUnit
2. научится запускать тесты на PHPUnit. Самые банальные по мануалу. Просто запускать и понять, как они срабатывают.
3. опробовать подход на небольших учебных задачах (всякие code-kata подойдут, задачи типа FizzBuzz, конвертёр температур из шкалы Цельсия в шкалу Фаренгейта, любые простые, алгоритмизируемые задачи с проверяемым результатом).
4. После понимания сути тестов, заводим tests/ в реальном проекте, и начинаем думать, как это всё завести. В первый раз достаточно сложно сообразить как всё это добро соединить. Постепенно прикручиваем тесты, осваиваем технику работы со стабами (Stub) и моками (Mock).

В процессе освоения шага №3, опробовать TDD: до написания кода, решающего задачу, пишем тесты для будущего кода. Это потребует в процессе написания теста продумать, как будут называться классы, методы, функции, какие граничные условия для прохождения тестов и проч.

Очень вероятно, что с первого раза не всё будет понятно и просто. Пробуйте.

Как пища для размышлений и осваивания методологии TDD, подборка задач:
codekata.com

Во многих там даже условия тестов прописаны, остаётся подкорректировать под себя и принятся за реализацию.
Ответ написан
Комментировать
Сначала тесты, потом код! Принцип называется разработкой через тестирование (TDD) .

Хорошая статья на Хабре
Ответ написан
Комментировать
IgorO2
@IgorO2
73
Ответ написан
Комментировать
disc
@disc
веб-разработчик
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы