我似乎无法在Firebase Documentation中找到这个解决方案。
我想在本地测试我的functions.https.onCall
函数。是否可以使用shell或以某种方式将我的客户端(启用了firebase SDK)连接到本地服务器?
我希望避免每次都为了测试onCall
函数的更改而部署。
我的代码
功能说明:
exports.myFunction = functions.https.onCall((data, context) => {
// Do something
});
字符串
客户:
const message = { message: 'Hello.' };
firebase.functions().httpsCallable('myFunction')(message)
.then(result => {
// Do something //
})
.catch(error => {
// Error handler //
});
型
7条答案
按热度按时间ldxq2e6h1#
对于local,你必须调用(在firebase.initializeApp之后)
字符串
ndh0cuux2#
有一个简单的技巧,如何简化
onCall
函数测试。只需将onCall函数回调声明为本地函数并测试它:字符串
现在,您可以使用在函数调用中定义的输入,使用普通函数对所有情况进行变量处理。
irtuqstp3#
虽然官方的Firebase Cloud Function文档尚未更新,但您现在可以将firebase-functions-test与
onCall
函数一起使用。你可以看到一个example in their repository。
我已经设法使用jest测试了我的TypeScript函数,这里是一个简短的例子。这里有一些特殊之处,比如导入顺序,所以一定要阅读文档:-)
字符串
vfh0ocws4#
Callable只是具有特定格式的HTTPS函数。您可以像HTTPS函数一样进行测试,只是您必须编写代码以将其作为defined in the documentation协议交付。
dsekswqp5#
你应该首先检查开发环境,然后将你的函数指向本地仿真器。
对于JS:
字符串
或者如果你不创建firebase的示例
型
或者当从后端(node.js)提供页面时:
型
uqxowvwt6#
如果你使用的是angularfire,把它添加到你的app.module中
字符串
ippsafx77#
HTTPSCallable函数中有一个函数
run
:“以提供的数据作为输入执行处理程序函数。用于单元测试”。
您可以简单地这样做:
字符串