bra*_*log 6 integration-testing node.js jestjs serverless-framework
我正在使用无服务器框架在AWS上运行lambda函数。
在我serverless.yml的环境中,有从SSM获取的环境变量。
当我为代码编写集成测试时,我需要代码具有环境变量,而我找不到找到此方法的好方法。
我不想为测试重复所有变量定义,它们已经在serverless.yml中定义。另外,有些是机密,我无法将其提交来源控制,因此我还必须在ci环境中重复这些秘密。
尝试使用,serverless-jest-plugin但无法正常运行,维护也不完善。
我对解决方案的想法:
sls invoke-这将起作用,但将意味着无法调试代码,我不知道测试范围,并且测试速度很慢。serverless.yml我自己并导出env变量-可能,但是重写仅用于测试的提取SSM变量的逻辑似乎是错误的。有任何想法吗?
我们最终使用的解决方案是一个名为serverless-export-env的无服务器插件。
添加此插件后,您可以运行serverless export-env将所有已解析的环境变量导出到.env文件中。这可以正确解析 ssm 参数并使我们的集成测试变得更加简单。
顺便说一句,要从.env文件中设置环境变量,请使用dotenv npm 包。
感谢grishezz寻找解决方案
| 归档时间: |
|
| 查看次数: |
1993 次 |
| 最近记录: |