TypeError:运行代码覆盖伊斯坦布尔时无法读取 null 的属性(读取“split”)

问题描述 投票:0回答:1

我有一个 Vue 项目,每当我尝试进行测试覆盖率时,都会遇到以下错误;

TypeError: Cannot read properties of null (reading 'split')
。我已经在 0.34.1、0.34.6 和 1.0.1 上测试过它......导致错误的罪魁祸首将在文件中:
removeQueryParameters node_modules/@vitest/coverage-istanbul/dist/provider.js:294:19

function removeQueryParameters(filename) {
  return filename.split("?")[0];
}

我可以通过在返回值周围放置一个

if
语句来解决这个问题,但我很好奇是否有一个版本的 istanbul 没有这个错误(还),或者我是否可能配置错误并仅仅抑制了使用
if
语句出现“错误”。

我的环境:

"nuxt": "^3.7.3",
"nuxt-vite": "^0.3.5",
"nuxt-vitest": "^0.10.5",
"@types/jest": "^29.5.4",
javascript unit-testing istanbul
1个回答
0
投票

在文件名后使用

?
运算符。所以它会在转到
split()[0]

之前检查文件名是否存在
function removeQueryParameters(filename) {
  return filename?.split("?")[0];
}
© www.soinside.com 2019 - 2024. All rights reserved.