Autotest для PHP

в 0:19, , рубрики: php, phpunit, tdd, метки: , ,

Последнее время я часто сталкивался с разработкой на Ruby и Ruby on Rails. О них говорить я не собираюсь. Но после возвращения к PHP кое-чего стало очень не хватать. Одна простая утилита, оказавшаяся отличным помощником для любого разработчика, который использует тесты. autotest запускает тесты на любое изменение в кодовой базе или тестах. Я попробовал поискать в Гугле и на Гитхабе аналог для PHP. Все решения, которые я нашел, были написаны либо на Ruby, либо на серверном JavaScript, либо на bash (хотя позже все же нашел решения и на PHP, которые, тем не менее, мне не понравились по разным причинам). Я являюсь сторонником мнения, что утилиты для разработки на каком-то языке должны быть написаны на нем же. Причин тому много, одна из наиболее значимых лично для меня — это возможность легко и непринужденно вносить какие-то правки и изменения в код самой утилиты (например, когда разработчик утилиты не реагирует на баг-репорт). Руки у меня зачесались, и я попробовал написать свою версию autotest для PHP. Результат можно посмотреть на Гитхабе.

Код, конечно, далек от идеала. Тут есть, что еще делать — например, содержимое консольного скрипта следует перенести в отдельный класс, нужно отрефакторить существующие классы (некоторые не следуют SRP), возможно, добавить некоторую функциональность.
Но все же я решил вынести мое решение на суд общественности. С одной стороны, я был бы рад советам (например, как написать юнит-тесты для скрипта с бесконечным циклом). С другой, утилита уже может оказаться полезной некоторым разработчикам.

Автор: merkushin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js