Javascript Firebase功能测试初始化失败
正在尝试测试我的Firebase云功能。我遵循了文档,在运行测试时出现了以下错误。我尝试过生成不同的密钥,我通过Firebase访问服务密钥窗口,因此它是正确的项目。运行测试时出错:Javascript Firebase功能测试初始化失败,javascript,node.js,google-cloud-functions,Javascript,Node.js,Google Cloud Functions,正在尝试测试我的Firebase云功能。我遵循了文档,在运行测试时出现了以下错误。我尝试过生成不同的密钥,我通过Firebase访问服务密钥窗口,因此它是正确的项目。运行测试时出错:npm测试 Error: Options object {"_fieldsProto":{"foo":{"stringValue":"bar"}},"_ref":{"_firestore":{&qu
npm测试
Error: Options object {"_fieldsProto":{"foo":{"stringValue":"bar"}},"_ref":{"_firestore":{"_settings":{"credentials":{"private_key":"KEY","client_email":"project@appspot.gserviceaccount.com"},"projectId":"project","firebaseVersion":"8.13.0","libName":"gccl","libVersion":"3.8.6 fire/8.13.0"},"_settingsFrozen":false,"_serializer":{"allowUndefined":false},"_projectId":"project","registeredListenersCount":0,"_lastSuccessfulRequest":0,"_backoffSettings":{"initialDelayMs":100,"maxDelayMs":60000,"backoffFactor":1.3},"_preferTransactions":false,"_clientPool":{"concurrentOperationLimit":100,"maxIdleClients":1,"activeClients":{},"terminated":false,"terminateDeferred":{"promise":{}}}},"_path":{"segments":["document","path"],"projectId":"project","databaseId":"(default)"},"_converter":{}},"_serializer":{"allowUndefined":false},"_readTime":{"_seconds":1602169684,"_nanoseconds":285000000},"_createTime":{"_seconds":1602169684,"_nanoseconds":285000000},"_updateTime":{"_seconds":1602169684,"_nanoseconds":285000000}} has invalid key "_fieldsProto"
at /home//Desktop/Work/test-app/app/functions/node_modules/firebase-functions-test/lib/main.js:99:19
at Array.forEach (<anonymous>)
at _checkOptionValidity (/home//Desktop/Work/test-app/app/functions/node_modules/firebase-functions-test/lib/main.js:97:26)
at scheduledWrapped (/home//Desktop/Work/test-app/app/functions/node_modules/firebase-functions-test/lib/main.js:36:13)
at Object.<anonymous> (/home//Desktop/Work/test-app/app/functions/index.test.js:98:1)
at Module._compile (internal/modules/cjs/loader.js:1085:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32)
at Function.Module._load (internal/modules/cjs/loader.js:791:14)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.exports.requireOrImport (/home//Desktop/Work/test-app/app/functions/node_modules/mocha/lib/esm-utils.js:20:12)
at Object.exports.loadFilesAsync (/home//Desktop/Work/test-app/app/functions/node_modules/mocha/lib/esm-utils.js:33:34)
at Mocha.loadFilesAsync (/home//Desktop/Work/test-app/app/functions/node_modules/mocha/lib/mocha.js:427:19)
at singleRun (/home//Desktop/Work/test-app/app/functions/node_modules/mocha/lib/cli/run-helpers.js:156:15)
at exports.runMocha (/home//Desktop/Work/test-app/app/functions/node_modules/mocha/lib/cli/run-helpers.js:225:10)
at Object.exports.handler (/home//Desktop/Work/test-app/app/functions/node_modules/mocha/lib/cli/run.js:366:11)
at /home//Desktop/Work/test-app/app/functions/node_modules/yargs/lib/command.js:241:49
const test = require('firebase-functions-test')({
databaseURL: "####",
storageBucket: "####",
projectId: "#####", }, './key.json');
const myFunctions = require('./index.js');
const wrapped = test.wrap(myFunctions.testFunction);
const snap = test.firestore.makeDocumentSnapshot({foo: 'bar'}, 'document/path');
wrapped(snap);
test.cleanup();
它说的是无效的密钥“_fieldProto”,如果你看一下这个dict实际上包含的内容:
"fieldsProto":{"foo":{"stringValue":"bar"}}
我认为您只需要删除传递到包装函数中的参数
const wrapped = test.wrap(myFunctions.testFunction);
wrapped();
test.cleanup();
你好,AlexTaylor你能为你的案子添加更多细节吗?如果您能够提供文档和您开始面对错误的确切步骤,有关Firestore数据库等的更多信息将有助于社区更好地了解您的案例。
const wrapped = test.wrap(myFunctions.testFunction);
wrapped();
test.cleanup();