Typescript 如何使用AWS Lambda运行jest?

Typescript 如何使用AWS Lambda运行jest?,typescript,amazon-web-services,aws-lambda,serverless-framework,aws-code-deploy,Typescript,Amazon Web Services,Aws Lambda,Serverless Framework,Aws Code Deploy,我正在尝试在部署后运行e2e测试,以便在出现任何故障时回滚。 我遵循了中描述的说明 这是我的lambda: 导出异步函数testLambda(事件:APIGatewayEvent、上下文、回调){ console.log('第一个版本!') 常数响应={ 状态代码:200, 正文:JSON.stringify({ 消息:“第一个版本!” }) } 返回回调(空,响应) } 这是我的邮政钩: 导出异步函数postHook(事件、上下文、回调){ const deploymentId=event.

我正在尝试在部署后运行e2e测试,以便在出现任何故障时回滚。 我遵循了中描述的说明

这是我的lambda:

导出异步函数testLambda(事件:APIGatewayEvent、上下文、回调){ console.log('第一个版本!') 常数响应={ 状态代码:200, 正文:JSON.stringify({ 消息:“第一个版本!” }) } 返回回调(空,响应) } 这是我的邮政钩:

导出异步函数postHook(事件、上下文、回调){
const deploymentId=event.deploymentId;
const lifecycleEventHookExecutionId=event.lifecycleEventHookExecutionId;
log(`deploymentId:${deploymentId}-LifecycleEventhokeExecutionId:${LifecycleEventhokeExecutionId}`)
试一试{
const jest=require('jest');
要求(“ts-jest”);
常量选项={
项目:[[uuuu dirname],
沉默:是的,
};
wait jest.runCLI(选项、选项、项目);
//更新aws部署以获得成功
}捕捉(错误){
//更新失败的aws部署
控制台日志(err);
返回{statusCode:500}
}
}
我的测试是用typescript编写的,我将jest.config.js和tsconfig.json上传到无服务器应用程序zip文件。 无论我做什么,全球的笑话符号,如描述,期望等。。。不被承认:

找不到名称“descripe”。是否需要为测试运行程序安装类型定义?尝试
npm i@types/jest
npm i@types/mocha
,然后将
jest
mocha
添加到tsconfig中的类型字段中


如何使用aws lambda运行测试?我唯一的选择是触发一些其他任务,比如代码构建来运行我的测试,或者将我的测试框架更改为mocha。有更好的解决方案吗?

这些端到端测试不应该在Lambda之外运行吗?例如,在您的CI/CD管道中?通常,您会部署lambda,然后在CI/CD管道中运行测试,验证结果并以某种形式处理结果。将这些东西与Lambda一起部署似乎是“错误”的方法。错误似乎来自类型脚本检查,您是否尝试安装
@types/jest
类型?类型包将
描述
功能标记为可用