通过流量覆盖率报告获取Gitlab CI覆盖率

时间:2019-05-22 14:39:04

标签: gitlab code-coverage gitlab-ci flowtype

我正在使用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 │
└───────────┴─────────┴───────┴─────────┴───────────┘

他们没有使用竖线字符|表,但│

按照Rubular中的说明使用GitLab Documentation调试正则表达式时,在匹配组中得到正确的结果。

但是,每次我的工作完成时,它都没有任何承保范围。我想念什么吗?字符显示是否不同?

注意:例如,关于Jest的报道我没有任何问题。

1 个答案:

答案 0 :(得分:1)

好吧,在深入研究代码和其他地方之后,我在输出中发现了罪魁祸首=>颜色。

上表的第一行实际上显示为绿色!

因此,要让GitLab正则表达式解释正确的值,可以在正则表达式中包含颜色,或者像我一样剥去颜色:

./node_modules/.bin/flow-coverage-report | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"

感谢answer

希望有帮助。