小编luk*_*knk的帖子

Firebase Cloud Function 单元测试 HTTP onCall

我想为一堆云函数编写一些单元测试。现在我面临以下问题。使用firebase-functions-test我无法测试 HTTP 触发的云功能。以下是我想使用的一些云功能进行测试jest

export cloudFunctions = {
    createUserByAdmin: functions.runWith({ timeoutSeconds: 30, memory: '256MB' }).https.onCall(UserService.createUserByAdmin),
    updateUserByAdmin: functions.runWith({ timeoutSeconds: 30, memory: '256MB' }).https.onCall(UserService.updateUserByAdmin),
    deleteUserByAdmin: functions.runWith({ timeoutSeconds: 30, memory: '256MB' }).https.onCall(UserService.deleteUserByAdmin)
}
Run Code Online (Sandbox Code Playgroud)

它们都部署在 Firebase 上并且工作没有问题。但我找不到调用使用firebase-functions-test包的方法。此外,还有一些示例说明如何使用该包编写单元测试,但没有一个示例测试 http 触发的函数。

这是我的测试文件:

import * as functions from 'firebase-functions-test'
import * as admin from 'firebase-admin'
import * as path from 'path'

const projectConfig = {
    projectId: 'test-fb',
}

const testEnv = functions(
    projectConfig,
    path.resolve('DO-NOT-EDIT.dev.fb-admin-sdk-key.json'),
)

describe('[Cloud Functions] User Service', () => { …
Run Code Online (Sandbox Code Playgroud)

unit-testing firebase jestjs google-cloud-functions

6
推荐指数
1
解决办法
2242
查看次数