Почему юнит-тесты PHP запускают из командной строки?
Зачем вам нужны юнит-тесты, если вы не понимаете что это такое?
Тесты в PHP запускаются в консоли по той же причине, что и во многих других языках. Надо понимать, что PHP начинал не как настоящий язык программирования, а как шаблонизатор для cgi приложений. Сейчас PHP представляет собой язык программирования. То что вы используете его в качестве шаблонизатора на своём маке, чести вам не делает.
И, да, мампы, лампы и вампы - не лучший вариант для программистов PHP, которым нужны юнит-тесты. Попробуйте Docker или Vagrant.
И ещё маленькое дополнение: PHP имеет низкий порог вхождения. Это означает, что большинство простых пользователей компьютера с минимальным трудом смогут создать на нём страничку. Им юниттесты точно не нужны. Как и большинству разработчиков, которые делают сайты на CMS или фреймворках. А тем, кому реально нужны тесты, не нужен WebUI для них.
"Где-то я читал про "зелёные полоску", которая показывать процент пройденных тестов, это ведь в браузере только можно сделать - красивый отчет о тестах?"
Юнит тесты, выполняющиеся из консоли, легко могут сами по себе генерировать красивый html отчет, даже с ajax, который вы будете смотреть из браузера.
У вас какой-то мусор в терминологии и представлении как все работает.
Браузер - НЕ УМЕЕТ выполнять php скрипты. Браузер умеет парсить html и выполнять javascript из него. Поэтому запускать php юнит тесты в браузере невозможно.
Можно поставить какой-нить движок, типа teamcity/jenkins/hudson, в котором настроить джобы, и тогда их можно "запускать через браузер". Но для выполнения PHP скрипта, ему нужен php, а не браузер.