我有一个基于 Node.js 的项目,我在其中使用 Jest 进行 .js 单元测试。我将collectCoverage
配置设置设置为true
并且可以在本地开发运行中以及在 Codeship 中运行构建时看到测试覆盖率表。
但是,我似乎无法正确设置将测试覆盖率数据发布到 Code Climate 以在此处显示结果。
我将 CodeClimate 的设置说明中给出的 repo 令牌保存到 Codeship 环境变量中,如下所示:
CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < lcov.info
鉴于在本地,Jest collectCoverage 将lcov.info
数据文件保存在我的项目根目录中调用coverage
的目录中,我还尝试了具有该路径的环境变量的变体,如下所示:
CODECLIMATE_REPO_TOKEN=xxxxxxxxxx codeclimate-test-reporter < coverage/lcov.info
对于 codeclimate-test-reporter 节点模块 ( npm install -g codeclimate-test-reporter
) 的安装,从说明中我不清楚它应该去哪里。我试过把它:
- 在常规命令之前的 Codeship 测试设置设置命令部分中
npm install
, - 在 Codeship 测试管道配置命令部分,
我还尝试将它安装为我的 package.json 中的本地开发依赖项。
上述设置尝试的任何组合都没有导致在代码气候方面看到任何关于测试覆盖率的内容。
作为关于我所做工作的最后一点说明,我没有提交我的本地coverage
目录,因此它不包含在我的 Codeship 构建中。
谁能帮我弄清楚我做错了什么?