Отключить цвета в выводе покрытия кода из PHPUnit

Я хочу автоматизировать тестирование своего небольшого PHP-проекта, пока он работает хорошо, единственное, что я не мог заставить работать, - это отчет о покрытии кода.

В Gitlab-Ci есть опция Test coverage parsing, которая принимает регулярное выражение. Пока все хорошо, я нашел регулярное выражение по адресу http://jarretbyrne.com/2015/04/gitlab-ci-phpunit-test-coverage-parsing/: ^\s*Lines:\s*\d+.\d+\%

Но, как говорится в комментарии: он не работает с включенными цветами. PHPUnit имеет переключатель командной строки --colors-[always|never|auto], но этот параметр применяется только к нормальному выводу.

Как отключить цвета для --coverage-text? Могу ли я использовать другое регулярное выражение?

Изменить:

Есть открытая проблема на https://github.com/sebastianbergmann/phpunit/issues/1771


person Martin    schedule 25.08.2015    source источник


Ответы (2)


Теперь я запускаю phpunit таким образом, чтобы убрать все цвета с вывода:

php vendor/phpunit/phpunit/phpunit --coverage-text | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"

person Martin    schedule 25.08.2015

Вы можете просто установить --colors=never, и они будут отключены. Он действительно работает с цветами, ранее включенными в файле xml (я только что его протестировал), попробуйте:

vendor/bin/phpunit --coverage-text --colors=never

Думаю, проблема уже исправлена ​​:)

person elboletaire    schedule 14.03.2019