我想为我的一个小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有一个开放的问题
你可以设置--colors=never
,它们将被禁用。它确实适用于以前在xml文件中启用的颜色(我刚刚测试过),试试它:
vendor/bin/phpunit --coverage-text --colors=never
所以我猜这个问题已经解决了:)
我现在像这样运行phpunit以从输出中剥离所有颜色:
php vendor/phpunit/phpunit/phpunit --coverage-text | sed -r "s/'x1B'[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"