当前位置: 首页 > 知识库问答 >
问题:

当我在单元测试中使用firebase云函数时,一些云函数不会运行

郝杰
2023-03-14

如你所见,我有两个火力云功能

exports.delete = functions.firestore.
    document('aaaa/{aaaaId}/bbbb/{bbbbId}')
    .onDelete((snapshot, context) => { 
---
---
}

exports.create= functions.firestore.
    document('/cccc/{cccccChild}/ddddd/{dddddChild}')
    .onCreate(async (snapshot, context) => {
---
---
}

当我在应用程序中创建或删除时,效果非常好

但是当我用管理软件开发工具包在本地执行单元测试时,“创建”函数不起作用,但“删除”函数起作用。

在测试a中,以这种方式使用AdminSDK。

let result = await admin.firestore().collection('cccc').doc("value").collection("ddddd").add(value2); 

路径中的文档已创建,但firebase控制台中仅显示消息“Function execution take X ms,finished with status:“OK”,但不显示控制台。log()我输入了代码,但当我执行该行时。

const userReportDoc = admin.firestore().collection('aaaa').doc('id').collection('bbbb').doc('otherid').
await userReportDoc.delete();

函数运行并显示所有控制台。函数中的log()没有任何问题

有什么帮助或建议吗?

共有1个答案

尉迟晔
2023-03-14

通过在开始处附加一个/,看起来您在路径中有一个打字错误

/cccc/vsaaaa/

 类似资料:
  • 在我正在开发的Firebase web应用程序中,我想从邮件地址获取用户ID。为此,我正在尝试编写一个云函数。但它不起作用,或者我没有正确使用它。以下是当前代码(基于我在网上找到的一些示例): 运行“firebase deploy”时,我看不到任何问题。然后,我尝试用各种方法测试该功能,就像我在本教程之后编写的演示应用程序一样。 例如(现有和不存在的邮件地址): 但在任何一种情况下,我都不会在We

  • 云功能文档说 //使用Firebase管理SDK访问Firebase实时数据库。const admin=require('firebase-admin');管理初始化EAPP(); 我使用的是Cloud Firesta,而不是实时数据库。我如何访问它?

  • 在以前的GCP项目中,我们部署了基于Python的云功能(使用gcloud cli),理想情况下,我们希望继续使用Python实现Firebase云功能。所以我的问题是: > 是否可以部署基于Python的Firebase云功能?如果没有: 我们是否可以回到使用gcloud cli部署基于Python的GCP云函数,并且仍然让它们作为Firestore触发器工作?

  • 我正在使用 节点14 FireBase-Functions-Test:0.2.3 FireBase-Admin:9.6.0 FireBase-函数:3.13.2 FireBase工具:9.8.0 所以我想使用firebase云函数对我的firestore触发器函数执行单元测试,我从这里的文档中阅读了步骤。 我想使用执行单元测试。所以我假设我将在脱机模式下初始化SDK。文件上说 如果您希望编写完全脱

  • 所以我一直很高兴地使用async/await,因为Firebase云函数支持节点8。不过我有一件事要做。当使用可调用函数时,会告诉您必须在函数中返回promise,否则它将无法正常工作。当使用原始promise时,我很清楚如何使用它: 但是现在,随着异步等待,我不确定如何返回这个“promise链”: 有人知道吗?

  • 我有一个firebase项目(blaze plan)和firestore数据库。我需要在云函数中使用mqtt客户机。 但是当我加上这一行 索引。js,它无法部署到firebase。 它给出了这个错误: {@type:“type.googleapis.com/google.cloud.audit.AuditLog”,“status:{“code”:3, “消息”:“加载用户代码时函数失败。这可能是由