有关使用AVA与Firebase进行测试的快速问题。在Firebase Admin中使用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,在运行所有测试结束时需要清除这些ID。

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

最佳答案

尝试以下方法:

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


因为您使用的是forEach(),所以after钩实际上并没有在等待您的删除/用户删除操作的完成,因此该过程很可能先硬退出。

关于node.js - Firebase管理员:admin.auth()。delete(uid)在AVA test.after()中无法解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50440278/

10-08 21:56
查看更多