在 PHPUnit 的代码覆盖率输出中禁用颜色
Disable colors in code coverage output from 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
的颜色?我可以使用另一个正则表达式吗?
编辑:
有一个未解决的问题
我现在 运行 phpunit 就像那样从输出中去除所有颜色:
php vendor/phpunit/phpunit/phpunit --coverage-text | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"
您只需设置 --colors=never
,它们就会被禁用。它确实适用于先前在 xml 文件中启用的颜色(我刚刚测试过),试试看:
vendor/bin/phpunit --coverage-text --colors=never
所以我猜这个问题已经解决了:)
我想对我的一个小 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
的颜色?我可以使用另一个正则表达式吗?
编辑:
有一个未解决的问题我现在 运行 phpunit 就像那样从输出中去除所有颜色:
php vendor/phpunit/phpunit/phpunit --coverage-text | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"
您只需设置 --colors=never
,它们就会被禁用。它确实适用于先前在 xml 文件中启用的颜色(我刚刚测试过),试试看:
vendor/bin/phpunit --coverage-text --colors=never
所以我猜这个问题已经解决了:)