Amazon web services SAM AWS-测试依赖于图层的AWS Lambda
我正在使用AWS SAM框架构建一个耦合服务Lambda和api网关。 我在为使用层(实用程序函数、模型、控制器、配置…)的lambdas函数运行单元测试和集成测试时遇到了一些困难 我可以存根一些函数,但其他函数是必需的,特别是一些我希望在层上的库(如lodash…) 提前感谢您的帮助 澄清 我有一个项目,其结构如下Amazon web services SAM AWS-测试依赖于图层的AWS Lambda,amazon-web-services,aws-lambda,serverless,aws-lambda-layers,Amazon Web Services,Aws Lambda,Serverless,Aws Lambda Layers,我正在使用AWS SAM框架构建一个耦合服务Lambda和api网关。 我在为使用层(实用程序函数、模型、控制器、配置…)的lambdas函数运行单元测试和集成测试时遇到了一些困难 我可以存根一些函数,但其他函数是必需的,特别是一些我希望在层上的库(如lodash…) 提前感谢您的帮助 澄清 我有一个项目,其结构如下 无服务器poi events/=>包含本地测试的所有事件 lambda创建poi 测试/单元/lambda创建poi规范 索引 包装 lambda删除poi lambda更
- 无服务器poi
- events/=>包含本地测试的所有事件
- lambda创建poi
- 测试/单元/lambda创建poi规范
- 索引
- 包装
- lambda删除poi
- lambda更新poi
- lambda列表poi
- lambda列表poi
- 层poi
- nodejs/
- 包装
- 形态
- 模型
- 控制器
- 乌提尔斯
- 一些共享库(例如:lodash、bluebird等)
- nodejs/
image: amazon/lambda-build-node10.x
pipelines:
branches:
master:
- parallel:
- step:
name: lambda-create-poi
caches:
- node
script:
- cd lambda-create-poi
- npm install
- npm test
- step:
name: Same for other lambdas
caches:
- node
script:
#- cd lambda-xxxx
#- npm install
#- npm test
- step:
name: Package
script:
- pipe: atlassian/aws-sam-deploy:0.2.3
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
S3_BUCKET: $S3_BUCKET
STACK_NAME: 'my-stack-name'
SAM_TEMPLATE: 'template.yaml'
CAPABILITIES: ['CAPABILITY_IAM', 'CAPABILITY_AUTO_EXPAND']
COMMAND: 'package-only'
- step:
name: Upload to S3
script:
- pipe: atlassian/aws-s3-deploy:0.3.2
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
S3_BUCKET: $S3_BUCKET
# template packaged.yml after pipe atlassian/aws-sam-deploy package-only execution
LOCAL_PATH: '.bitbucket/pipelines/generated/pipeline/pipes/atlassian/aws-sam-deploy'
EXTRA_ARGS: '--exclude=* --include=packaged.yml'
- step:
name: Deploy stack
script:
- pipe: atlassian/aws-sam-deploy:0.2.3
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
S3_BUCKET: $S3_BUCKET
STACK_NAME: 'my-stack-name'
TEMPLATE: 'https://bucket-access-lambda.s3-eu-west-1.amazonaws.com/packaged.yml'
CAPABILITIES: ['CAPABILITY_IAM', 'CAPABILITY_AUTO_EXPAND']
WAIT: 'true'
WAIT_INTERVAL: 60
COMMAND: 'deploy-only'
我的问题是在并行步骤中找不到用于单元测试的层。所有单元测试都失败(我必须将我使用的所有层事件存根)
谢谢你的帮助。你能补充更多关于你所面临困难的细节吗?你越具体,别人就越有可能帮助你并给出直接的解决方案。嗨,肖恩,我通过发布答案来完成我的问题。我找不到更新我的问题的方法。在你问题的标签下面应该有一个微弱的灰色链接来“编辑”它。你找到解决方案了吗?