Jest并发-使用Firebase应用程序的全局设置

Jest并发-使用Firebase应用程序的全局设置,firebase,jestjs,Firebase,Jestjs,我正在使用jestglobalSetup运行一个异步脚本,该脚本类似于: module.exports = async () => { const secrets = await decryptSecrets() const app = admin.initializeApp({ ...secrets }) } 但是,我的测试套件在需要带有firebase的模块时失败,错误如下: 默认Firebase应用程序不存在。确保在使用任何Firebase服务之前调用initial

我正在使用jest
globalSetup
运行一个异步脚本,该脚本类似于:

module.exports = async () => {
    const secrets = await decryptSecrets()
    const app = admin.initializeApp({ ...secrets })
}
但是,我的测试套件在需要带有firebase的模块时失败,错误如下:
默认Firebase应用程序不存在。确保在使用任何Firebase服务之前调用initializeApp()。

const admin = require('firebase-admin')
describe('example', () => {
    test('test', async () => {
        const users = await admin
            .firestore()
            .collection('users')
            .get()
        expect(users.docs).toHaveLength(1)

    })
})

据我所知,这是因为Jest运行并发测试,它们完全独立地导入模块,并且它不知道全局firebase应用程序


我该怎么处理?我没有在我的node/express应用程序中的任何位置导入firebase应用程序单例,这需要很长时间才能替换。

找到解决方案了吗?我相信我们会在每个测试套件之前初始化admin SDK应用程序。。。我能给你回电话吗