Jestjs 从Jest到stdout再到GitLab的代码覆盖率

Jestjs 从Jest到stdout再到GitLab的代码覆盖率,jestjs,code-coverage,gitlab-ci,Jestjs,Code Coverage,Gitlab Ci,我在GitLab CI中运行代码覆盖率为的jest测试,GitLab从GitLab中运行程序的标准输出中捕获百分比 jest--coverage在stdout中生成覆盖率,gitlab使用/All files[^ |]*\\\\\\\\\\\\\*\s+([\d\.]+)/regexp捕获它,但当我运行 jest--coverage--json--outputFile=xyz.json遗憾的是,jest没有将代码覆盖率打印到stdout 当为jest提供了--json参数时,如何从jest获得标

我在GitLab CI中运行代码覆盖率为的jest测试,GitLab从GitLab中运行程序的标准输出中捕获百分比

jest--coverage
在stdout中生成覆盖率,gitlab使用
/All files[^ |]*\\\\\\\\\\\\\*\s+([\d\.]+)/
regexp捕获它,但当我运行
jest--coverage--json--outputFile=xyz.json
遗憾的是,jest没有将代码覆盖率打印到stdout

当为jest提供了
--json
参数时,如何从jest获得标准输出中的代码覆盖率


jest版本:v22.4.3
与jest cli相同

我不熟悉jest,但如果要创建JSON,最简单的方法是简单地
cat
JSON,然后相应地更改正则表达式

以下配置将允许GitLab解释由以下内容生成的覆盖率报告:


GitLab上有一个包含使用Jest生成的覆盖率报告的正确正则表达式(由使用)。

我正在使用以下正则表达式解析来自Jest for GitLab的
文本摘要
覆盖率报告:
(:语句|分支|函数|行)\s*:\s*([^%+)

<>请注意,GITLAB将只考虑<强>最后的匹配< /强>。所以上面可以写成
^Lines\s*:\s*([^%]+)
。我提供了完整的示例,以便您可以选择对您的项目最有意义的示例

“文本摘要”报告在标准输出中如下所示:

=============================== Coverage summary ===============================
Statements   : 80.49% ( 2611/3244 )
Branches     : 65.37% ( 923/1412 )
Functions    : 76.48% ( 582/761 )
Lines        : 80.44% ( 2583/3211 )
================================================================================
确保您在您的
jest.config.js
中包含了
文本摘要
,作为一名报道记者:

coverageReporters: ['text-summary', 'lcov', 'cobertura'],

json存储有关通过和失败测试的快照和静态数据。它没有任何与覆盖率相关的数据。我甚至尝试在覆盖率文件夹coverage-final中查找。json只包含哪些行被覆盖的信息,而没有包含多少行被覆盖的百分比?这家伙也有同样的问题,但他们解决了我仍然有这个问题。我在gitlab上开了一张票。
coverageReporters: ['text-summary', 'lcov', 'cobertura'],