程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用 AWS Lambda 运行 jest?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用 AWS Lambda 运行 jest??

开发过程中遇到如何使用 AWS Lambda 运行 jest?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用 AWS Lambda 运行 jest?的解决方法建议,希望对你解决如何使用 AWS Lambda 运行 jest?有所启发或帮助;

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

中描述的说明

这是我的 lambda:

export async function testLambda(event: APIGatewayEvent,context,callback) {
    console.log('The first version!')
    const response = {
        statusCode: 200,body: JsON.stringify({
            message: 'The first version!'
        })
    }
    return callback(null,response)
}

这是我的帖子钩子:

export async function postHook(event,callback) {

    const deploymentID = event.DeploymentID;
    const lifecycleEventHookExecutionID = event.lifecycleEventHookExecutionID;
    console.log(`deploymentID: ${deploymentID} - lifecycleEventHookExecutionID: ${lifecycleEventHookExecutionID}`)
    try {
        const jest = require('jest');
        require('ts-jest');
        const options = {
        projects: [__dirname],silent: true,};

        await jest.runcli(options,options.projects);
            // update aws deployment for suCSSes
        } catch (err) {
            // update aws deployment for failure
            console.log(err);
            return { statusCode: 500 }
    }
}

我的测试是用打字稿编写的,我将 jest.config.Js 和 tsconfig.Json 上传到无服务器应用程序 zip 文件。 无论我做什么,都无法识别 jest 的全局符号,例如 describe、expect 等:

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

如何使用 aws lambda 运行我的测试?我唯一的选择是触发一些其他任务,例如 codebuild 来运行我的测试,或者将我的测试框架更改为 mocha。有没有更好的解决办法?

解决方法

Jest 通常将描述、测试和其他功能放入全局上下文中。当你以编程方式启动它时,它无法做到,所以你必须在使用前显式导入这些函数。

import { describe,test} from '@jest/globals';

大佬总结

以上是大佬教程为你收集整理的如何使用 AWS Lambda 运行 jest?全部内容,希望文章能够帮你解决如何使用 AWS Lambda 运行 jest?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: