收藏
回答

小程序的云函数如何使用Jest进行单元测试?

如题,小程序的云函数如何本地通过Jest进行单元测试?如果以前有类似答案,麻烦帮我转载一下,我找了很久,非常感谢您的帮助。

回答关注问题邀请回答
收藏

1 个回答

  • 珠穆
    珠穆
    2023-01-11

    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(单元测试测试集合)。

    -------------------- 分割线 --------------------

    !!!!! 注意访问秘钥的安全性,仅供单元测试使用,不要泄露出去 !!!!

    


    2023-01-11
    有用 1
    回复
登录 后发表内容