Mur*_*sli 4 code-coverage codecov angular github-actions
我正在尝试通过 Github 操作将 Angular (v11) 库的代码覆盖率发布到 Codecov.io
我已经从市场设置了官方 Codecov github 操作
name: tests
on:
pull_request:
branches: [ master ]
jobs:
build:
# Machine environment:
# We specify the Node.js version manually below, and use versioned Chrome from Puppeteer.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14
uses: actions/setup-node@v1
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Build
run: npm run build-lib
- name: Test
run: npm run test-lib-headless
- name: Codecov
uses: codecov/codecov-action@v1.1.1
Run Code Online (Sandbox Code Playgroud)
package.json 中的任务
"test-lib-headless": "ng test ngx-scrollbar --watch=false --no-progress --browsers=ChromeHeadless --code-coverage",
Run Code Online (Sandbox Code Playgroud)
karma.conf.js
name: tests
on:
pull_request:
branches: [ master ]
jobs:
build:
# Machine environment:
# We specify the Node.js version manually below, and use versioned Chrome from Puppeteer.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 14
uses: actions/setup-node@v1
with:
node-version: 14
- name: Install dependencies
run: npm install
- name: Build
run: npm run build-lib
- name: Test
run: npm run test-lib-headless
- name: Codecov
uses: codecov/codecov-action@v1.1.1
Run Code Online (Sandbox Code Playgroud)
覆盖率文件在coverage目录中创建
在Github actions CI中,显示codecov没有找到文件!
为什么本地生成的文件却找不到?Codecov 是否寻找不同的报告扩展名?我怎样才能让它发挥作用?
这是因为 codecov 不支持默认生成的覆盖率报告。
简单的解决方案是将lcov报告者添加到您的配置中。
https://istanbul.js.org/docs/advanced/alternative-reporters/#lcovonly
coverageReporter: {
dir: require('path').join(__dirname, './coverage/peach-tree'),
subdir: '.',
reporters: [
{ type: 'html' },
{ type: 'text-summary' },
{ type: 'lcovonly' },
]
},
Run Code Online (Sandbox Code Playgroud)
然后,codecov 提供的 bash 脚本将毫无问题地上传您的报告。
| 归档时间: |
|
| 查看次数: |
1359 次 |
| 最近记录: |