Тайм-аут - асинхронный обратный вызов не был вызван в течение 10000 мс, указанного в jest.setTimeout - PullRequest
0 голосов
/ 11 марта 2019

Я использую jest для проверки своей лямбда-функции aws.Мой тест выглядит следующим образом:

Лямбда-файл index2.ts

export const handler = async (event: APIGatewayEvent, context: Context) => {
const response = {"value1": 1, "value2": 2};
return {
    statusCode: 200,
    headers: {
        "Access-Control-Allow-Origin": "*"
    },
    body: JSON.stringify(response)
};};

Тестовый файл index2.test.ts

import * as lambdaFunc from "../index2";
const lambdalocal = require('lambda-local');
const executeLambda = (event) => {
    return lambdalocal.execute({
        event: event,
        lambdaFunc: lambdaFunc,
        lambdaHandler: "handler",
        callbackWaitsForEmptyEventLoop: true,
        timeoutMs: 300,
        verboseLevel: 1
    }).then(response => {
        return response;
    })
        .catch(error => {
            return null;
        });
};

describe("Your first test", function () {
 it("returns success response", async (done) => {
    const response = await executeLambda(lambdaEvent);
    expect(response.statusCode).toEqual(200);
    done();

  });
});

Я установил время Jest в шутку.setup.js и тест выполняет поиск настроенного значения тайм-аута

jest.setTimeout(10000);

Я пробовал несколько решений, предложенных в нескольких сообщениях, и все еще с ошибкой "Тайм-аут - асинхронный обратный вызов не был вызван в течение 10000мс, заданного параметромjest.setTimeout».Может кто-нибудь, пожалуйста, укажите на проблему.Я использую Node 8.10.0, jest 23.3.14 и lambda-local 1.5.2.Я отладил тест, он прошел весь путь и вызвал оператор done ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...