2

我想对我的一个小 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上有一个未解决的问题

4

2 回答 2

2

你可以设置--colors=never,它们将被禁用。它确实适用于以前在 xml 文件中启用的颜色(我刚刚测试过),试试吧:

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

所以我想这个问题已经解决了:)

于 2019-03-14T20:13:47.597 回答
2

我现在像这样运行 phpunit 以从输出中去除所有颜色:

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

于 2015-08-25T08:09:21.897 回答