我有一个正在使用的AWS Lambda函数(Python),正在尝试通过环境变量提取我的AWS账户ID。
OWNER_ID = os.environ['ACCOUNT_ID']
该功能最终将从部署它的CloudFormation模板中获得其价值。
"Environment": {
"Variables": {
"ACCOUNT_ID": {"Ref": "AWS::AccountId"}
}
},
我正在将这些更改推送到我公司的Git回购中,然后通过Jenkins Pipeline构建测试。每次,构建测试都会在看到ACCOUNT_ID
变量并抛出KeyError时失败,这显然是因为它在“环境变量”列表中没有对此变量的引用。注意:我没有能力/权限亲自将此环境变量添加到Jenkins中。
我已将env var添加到为此特定Lambda运行的单元测试中:
os.environ['ACCOUNT_ID'] = "xxxxxxxxxxxx"
但是仍然失败,因为单元测试模块有一个from Source import
,它调用原始Lambda来获取测试数据。这是Jenkins Pipeline看到env var并失败的时候。
我似乎找不到解决办法来使单元测试通过。有什么方法可以使测试成功完成,而不必将ACCOUNT_ID变量添加到Jenkins的环境变量中?