获取 Gitlab CI 覆盖率和流量覆盖率报告
Get Gitlab CI coverage with flow coverage report
我正在使用 flow-coverage-report 通过 Flow 获取我的代码的覆盖率。我在我的 Gitlab CI 管道中添加了一个作业来执行它并检索覆盖率。
jobName:
stage: stage
script:
- ./node_modules/.bin/flow-coverage-report
coverage: /MyProject\s*│\s*([\d\.]+)/
脚本的输出有很多行,尤其是:
┌───────────┬─────────┬───────┬─────────┬───────────┐
│ project │ percent │ total │ covered │ uncovered │
│ MyProject │ 87 % │ 62525 │ 54996 │ 7529 │
└───────────┴─────────┴───────┴─────────┴───────────┘
他们没有使用管道符 |对于 table,但是 │
当我用 Rubular as explained in the GitLab Documentation 调试正则表达式时,我在匹配组中得到了正确的结果。
但是,每次我的作业完成时,它都没有任何覆盖值。我错过了什么吗?字符显示不同吗?
注意:例如,我对 Jest 的报道没有任何问题。
好的,在深入研究代码和其他地方后,我在输出中找到了罪魁祸首 => 颜色。
上面table的第一行居然显示为绿色!
因此,为了让 GitLab 正则表达式解释正确的值,可以在正则表达式中包含颜色,或者像我一样去除颜色:
./node_modules/.bin/flow-coverage-report | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"
多亏了这个answer。
希望对您有所帮助。
我正在使用 flow-coverage-report 通过 Flow 获取我的代码的覆盖率。我在我的 Gitlab CI 管道中添加了一个作业来执行它并检索覆盖率。
jobName:
stage: stage
script:
- ./node_modules/.bin/flow-coverage-report
coverage: /MyProject\s*│\s*([\d\.]+)/
脚本的输出有很多行,尤其是:
┌───────────┬─────────┬───────┬─────────┬───────────┐
│ project │ percent │ total │ covered │ uncovered │
│ MyProject │ 87 % │ 62525 │ 54996 │ 7529 │
└───────────┴─────────┴───────┴─────────┴───────────┘
他们没有使用管道符 |对于 table,但是 │
当我用 Rubular as explained in the GitLab Documentation 调试正则表达式时,我在匹配组中得到了正确的结果。
但是,每次我的作业完成时,它都没有任何覆盖值。我错过了什么吗?字符显示不同吗?
注意:例如,我对 Jest 的报道没有任何问题。
好的,在深入研究代码和其他地方后,我在输出中找到了罪魁祸首 => 颜色。
上面table的第一行居然显示为绿色!
因此,为了让 GitLab 正则表达式解释正确的值,可以在正则表达式中包含颜色,或者像我一样去除颜色:
./node_modules/.bin/flow-coverage-report | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"
多亏了这个answer。
希望对您有所帮助。