运行
vitest run --coverage
时,我看到代码覆盖率准确地代表了我通过单元测试添加的覆盖率。
但是,当通过 VS Code 的
Vitest
扩展按下“运行覆盖率测试”按钮时,它显示所有内容的代码覆盖率都是 0%。
有关更多信息,我使用包含我的 Vite 和 Vitest 配置的
vite.config.ts
,而不是专用的 vite.config.ts
和 vitest.config.ts
配置:
// vite.config.ts
export default defineConfig(() => {
// ...
test: {
environment: 'jsdom',
coverage: {
provider: 'istanbul'
},
globals: true
}
}
这个
vite.config.ts
位于我的存储库的根目录中,与我的 package.json
处于同一级别,因此它大概应该由 Vitest VS Code 扩展以及当我运行 vitest run --coverage
时共享。
以下是我的一些相关内容
package.json
:
{
...
"devDependencies": {
...
"@types/jsdom": "20.0.1",
"@types/node": "18.19.34",
"@vitejs/plugin-vue": "5.0.5",
"@vitest/coverage-istanbul": "2.0.4",
"eslint-plugin-vue": "9.27.0",
"jsdom": "20.0.3",
"vite": "5.3.1",
"vitest": "2.0.4"
}
}
为什么通过 CLI 运行
vitest run --coverage
与通过 VS Code 的 Vitest
扩展使用“运行覆盖率测试”时会出现差异?
我也有同样的问题。我打开了一个新的错误。 https://github.com/vitest-dev/vscode/issues/513