You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义类型新增未使用Date字段测试抛出TS2322与TS2769错误如何解决

问题原因

该报错本质是TypeScript类型定义缺失导致的编译错误,和业务逻辑、Pinia、Jest运行时无关。你在类型中新增Date字段后,TypeScript需要完整的Date类型定义才能完成校验,而默认生成的Vue + TS项目的tsconfig可能未引入ES2015.Symbol.WellKnown库,导致Date类型缺少[Symbol.toPrimitive]属性的声明,触发类型不匹配错误。新增number、string等基础类型不会触发该问题,是因为这类基础类型的定义无需依赖该额外库。

解决方案
  • 第一步:修改项目根目录的tsconfig.json,在compilerOptions下的lib数组中补充缺失的类型库:
{
  "compilerOptions": {
    "target": "esnext",
    "module": "esnext",
    "lib": [
      "esnext",
      "dom",
      "ES2015.Symbol.WellKnown", // 新增这行即可解决核心报错
      "ES2015.Date" // 可选添加,确保Date类型定义完整
    ],
    // 其余原有配置保持不变
  }
}
  • 第二步:如果项目拆分了单测专用的TS配置(比如存在tsconfig.spec.json),需要同步修改该文件的lib字段,保证单测编译时能读取到对应的类型定义。
  • 第三步:重启IDE的TypeScript语言服务,删除本地缓存后重新运行测试即可:
rm -rf node_modules/.cache && npm run test:unit

内容的提问来源于stack exchange,提问作者Question3r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:24:06