小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如题,小程序的云函数如何本地通过Jest进行单元测试?如果以前有类似答案,麻烦帮我转载一下,我找了很久,非常感谢您的帮助。
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
1.微信云函数调用需要相关权限(微信云环境和腾讯云Cloudbase),你通过JEST调用的时候,一些关键鉴权参数是缺失的,所以我们要手动给补上。
2.三行代码解决解决这个问题
// 微信云环境ID process.env.SCF_NAMESPACE = "test-111" // 腾讯云访问秘钥ID process.env.TENCENTCLOUD_SECRETID = "AKi18ssjkkss177627621j" // 腾讯云访问秘钥KEY process.env.TENCENTCLOUD_SECRETKEY = "RaSsgsh98792khhE"
其中访问秘钥ID和KEY需要到微信云函数对应的腾讯云获取。
访问地址: https://console.cloud.tencent.com/cam/capi
PS:通过源码得知,微信云函数本身是也是申请了临时访问秘钥ID和KEY(具有效期限制)实现访问腾讯云Cloudbase
单元测试需要一个单独的测试云环境或者集合,前者需要申请新环境需要额外花费,你可以选择封装一下集合获取的方式,根据环境变量动态选择开发集合或者测试集合,例如user(开发集合)、user_test(单元测试测试集合)。
-------------------- 分割线 --------------------
!!!!! 注意访问秘钥的安全性,仅供单元测试使用,不要泄露出去 !!!!
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
1.微信云函数调用需要相关权限(微信云环境和腾讯云Cloudbase),你通过JEST调用的时候,一些关键鉴权参数是缺失的,所以我们要手动给补上。
2.三行代码解决解决这个问题
// 微信云环境ID process.env.SCF_NAMESPACE = "test-111" // 腾讯云访问秘钥ID process.env.TENCENTCLOUD_SECRETID = "AKi18ssjkkss177627621j" // 腾讯云访问秘钥KEY process.env.TENCENTCLOUD_SECRETKEY = "RaSsgsh98792khhE"
其中访问秘钥ID和KEY需要到微信云函数对应的腾讯云获取。
访问地址: https://console.cloud.tencent.com/cam/capi
PS:通过源码得知,微信云函数本身是也是申请了临时访问秘钥ID和KEY(具有效期限制)实现访问腾讯云Cloudbase
单元测试需要一个单独的测试云环境或者集合,前者需要申请新环境需要额外花费,你可以选择封装一下集合获取的方式,根据环境变量动态选择开发集合或者测试集合,例如user(开发集合)、user_test(单元测试测试集合)。
-------------------- 分割线 --------------------
!!!!! 注意访问秘钥的安全性,仅供单元测试使用,不要泄露出去 !!!!