我正在使用AWS SAM框架构建耦合的服务Lambda和api网关。我现在面临一些困难运行单元测试和集成测试我的lambda表达式功能,这“使用层RE(公用事业功能,模型,控制器,配置......)
I可以存根一些功能,但其它的是必需品,专门一些librairies,我想上层(如lodash,...)。
谢谢您的帮助。
@ Shawn:请在下面找到我的澄清内容:
我有一个项目,其结构如下
[所有其他lambda与lambda-create-poi具有相同的结构。
我正计划通过bitbucket-ci实现部署的产业化。我的管道看起来像:
image:amazon / lambda-build-node10.x
管道:
分支:
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'
我的问题是并行步骤无法找到该层。所有单元测试都失败了(我必须对我使用的工具使用的所有图层事件进行存根)
感谢您的帮助。