有关使用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/