typescript - 在使用 firebase-functions-test 测试 Cloud Function 时,Admin SDK 报错 “默认的 Firebase 应用不存在。”
首先我尝试获取默认的 Firebase 应用,但它抛出:默认的 Firebase 应用不存在。请确保在使用任何 Firebase 服务之前调用 initializeApp()。
import { getDatabase } from 'firebase-admin/database';
import { getFirestore, Timestamp } from 'firebase-admin/firestore';
let defaultDatabase = getDatabase();
let defaultFirestore = getFirestore();
然后我试试:
import { getDatabase } from 'firebase-admin/database';
import { getFirestore, Timestamp } from 'firebase-admin/firestore';
import { initializeApp } from 'firebase-admin/app';
const app = initializeApp();
let defaultDatabase = getDatabase(app);
let defaultFirestore = getFirestore(app);
但是上述代码抛出“无法确定 Firebase 数据库 URL。”
测试代码:
import { test } from "@jest/globals";
import { functionF} from "../../src/functionF";
import firebaseFunctionsTest from "firebase-functions-test";
const {wrap , firestore} = firebaseFunctionsTest({
projectId: 'project-id',
databaseURL: "https://project-id.asia-southeast1.firebasedatabase.app",
}, 'serviceAccount.json');
describe('test1', () => {
test('test', () => {
const wrappedFunctionF = wrap(functionF);
const snap = firestore.makeDocumentSnapshot({ foo: 'bar' }, 'document/path');
wrappedFunctionF(snap);
});
});
我已经为此挣扎了一整天,感谢任何帮助。