一、安装必要依赖
Vitest 使用 c8 来生成覆盖率报告。确保项目已经安装以下依赖:
pnpm add -D vitest c8
# or npm / yarn二、Vitest 配置覆盖率收集
在 vitest.config.ts 中加入如下配置:
import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
environment: 'happy-dom',
coverage: {
provider: 'v8',
include: ['src/**/*.ts'],
},
},
})三、增加正则匹配
本质上是使用 /All files\s+\|\s*(\d+\.?\d*)\s*\|/ 正则匹配 test 结果中的 覆盖率 。
stages:
- test
test:
stage: test
image: node:22-alpine
script:
- pnpm i
- pnpm test
coverage: '/All files\s+\|\s*(\d+\.?\d*)\s*\|/' # 增加这一行,目的是去匹配 test 结果中的
artifacts:
paths:
- coverage # 增加这一行,将 coverage 增加到 artifacts 中
结果
Tips
可以使用 https://gitlab.com/{群组名}/{你的项目名}/badges/main/coverage.svg 作为你的徽标