Я только недавно столкнулся с этой же проблемой, пытаясь запустить phpunit из командной строки в git bash на windows 7. Проведя некоторые исследования возможных различных решений, я решил поделиться здесь решением, которое я выбрал для себя.
Вы можете отфильтровать символы управления цветом ANSI из git bash.Создайте файл с именем phpunit
(примечание: сам скрипт phpunit не был в моем пути, и я в основном выполнял модульные тесты только из intellij) и поместите его в любое место в вашем $PATH
(я сам предпочитаю ~/bin
, но нетправило об этом):
#!/bin/sh
/path/to/phpunit "$@" 2>&1 | perl -pe 's/(?<=\e\[)2;//g'
"$@"
говорит bash взять остальные аргументы, переданные скрипту, и направить их в phpunit.2>&1
перенаправляет stderr в stdout , гарантируя, что любые управляющие символы, сгенерированные при создании вывода ошибок, также будут отфильтрованы.
Наконец, весь произведенный выводphpunit передается через perl и проходит через регулярное выражение 's/(?<=\e\[)2;//g'
, которое удаляет управляющие символы.
Конечный результат заключается в том, что phpunit работает нормально, независимо от того, что <phpunit colors=""
настройка, которую вы используете.
Надеюсь, это поможет!