egg.js 如何支持 TeamCity 的 code coverage 和 test cases 功能

同时发布在 https://imlc.me/enable-teamci...

TL;DR

安装 mocha-teamcity-reporter
npm install mocha-teamcity-reporter --save-dev
更新 package.json
"cov": "egg-bin cov --nyc=\"-r teamcity -r text\" --reporter mocha-teamcity-reporter"

egg.js 如何支持 TeamCity 的 code coverage 和 test cases 功能_第1张图片

egg.js 如何支持 TeamCity 的 code coverage 和 test cases 功能_第2张图片

TeamCity 支持从 build log 中提取代码覆盖和单元测试的详细信息。你不止可以在每个 build 中直接查看相关数据,也可以查看一个项目的代码覆盖和单元测试的趋势性变化。

TeamCity 默认已经开启了这个功能,但是要让 TeamCity 能提取相关数据,项目构建时需要以特定格式输出相关信息。约定俗成地,所有的统计代码覆盖率和测试框架都会有相应的 reporter,例如 teamity-reporter、jenkins-reporter、gitlab-reporter。

上方命令中的 --nyc=\"-r teamcity -r text\" 表示代码覆盖率以 teamcity 的格式输出。而 --reporter mocha-teamcity-reporter 告诉 Mocha 以 teamcity 的格式输出单元测试信息。

你可能感兴趣的:(javascript,eggjs)