【问题标题】:Firebase Admin: admin.auth().delete(uid) not resolving in AVA test.after()Firebase 管理员:admin.auth().delete(uid) 未在 AVA test.after() 中解析
【发布时间】:2018-10-30 14:30:26
【问题描述】:

有一个关于使用 AVA 进行 Firebase 测试的简短问题。当使用带有 Firebase 管理员的 test.after.finally() 在测试清理中删除用户帐户时,promise 不会解决或引发错误。很有可能我在这里没有做正确的事情,并且希望得到一些意见。

我的代码:

test.after.always(async () => {
    internals.ids.forEach(async (id) => {
        await admin.database().ref(`users/${id}`).remove();
        await admin.auth().deleteUser(id);
    });
});

其中 internals.ids 是在运行所有测试结束时需要清理的 id 数组。

这可能与 AVA 的非串行性质有关,也可能无关,但我不能 100% 确定。如果您需要更多信息,请告诉我。谢谢!

【问题讨论】:

    标签: node.js firebase firebase-admin ava


    【解决方案1】:

    试试这个:

    for (const id of internals.ids) {
      await ...remove()
      await ...deleteUser(id)
    }
    

    因为您使用的是forEach(),所以 after 挂钩实际上并没有等待您的任何删除/用户删除完成,并且该过程可能会在它们完成之前硬退出。

    【讨论】:

    • 好的!我会在今天晚些时候试一试,看看会发生什么。我会设置一个提醒回来,如果它有效,我会 +1。谢谢!
    • 这是修复!谢谢!
    猜你喜欢
    • 2018-02-20
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-12-12
    • 2018-07-31
    • 1970-01-01
    • 2019-01-19
    相关资源
    最近更新 更多