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

Firestore规则单元测试中deleteDoc触发AsyncQueue错误求助

Firestore规则单元测试删除文档时报错:TypeError: Cannot read properties of undefined (reading 'toString')

针对你遇到的问题,从以下方向排查:

  • 检查删除操作的文档引用有效性
    确认调用deleteDoc时传入的文档引用是否已正确初始化。如果文档引用为undefined(比如漏写集合路径、文档ID,或者测试文档创建失败),模拟器内部在处理时就会触发读取toString的错误。比如避免这类写法:

    let docRef; // 未赋值
    await deleteDoc(docRef);
    
  • 排查Firestore规则的删除逻辑
    即使是测试“无权限删除”的场景,规则中如果存在错误逻辑也可能引发模拟器异常,而非预期的权限拒绝。比如规则中若引用了request.resource.data下的字段并调用toString(),但删除操作时request.resource为空对象,就会触发该错误。

  • 更新Firebase CLI到最新版本
    部分旧版本的Firestore模拟器在处理删除权限测试时存在已知Bug,执行以下命令更新:

    npm install -g firebase-tools
    

    更新后重新运行测试,看是否解决问题。

  • 验证测试用户身份配置
    测试“用户无法删除”场景时,确认是否正确设置了无权限的用户身份。如果遗漏设置auth对象,或用户ID与规则中的逻辑冲突,也可能导致模拟器内部处理异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:10:45