Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

611
Visualizações
Unidad de nodo prueba la función AWS Lambda usando context.succeed()

Estoy tratando de probar mi función lambda localmente, usando mocha, chai y chai-as-promised en lo que respecta a async. Mi lambda usa el formato AWS context.succeed para devolver el resultado, no la devolución de llamada, y necesito mantenerlo así. Tengo una prueba a continuación, que devuelve un código de estado de 200, pero cuando espero que sea 400, aún pasa la prueba (falso positivo). No se muestran los registros colocados en la función de éxito del contexto personalizado, lo que indica que no se está golpeando, o mi comprensión de cómo funciona context.succeed es un poco incorrecta. Cualquier sugerencia sería muy apreciada.

Nota: la lambda funciona bien, la prueba es todo lo que tengo un problema.

Aquí está el código simple que tengo hasta ahora. Básicamente, llamo a mi función lambda, paso un evento y contexto como se esperaba. Cuando se llama a context.succeed, debe probar el resultado pasado al contexto.

 'use strict'; const myHandler = require('../lambdaHandler'); const chai = require('chai'); const expect = chai.expect; const chaiAsPromised = require('chai-as-promised'); chai.use(chaiAsPromised); describe('myHandler.handler should return with expected statusCodes', () => { it('should return a 200 statusCode', () => { myHandler.handler(event, { succeed : (data) => { expect(data).to.eventually.have.property('statusCode'); expect(data.statusCode).to.eventually.equal(400); }, fail : (data) => { expect(data).to.have.property('statusCode'); }, }); }); });
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Te sugiero que leas este artículo:

https://blog.atomdata.io/serverless-applications-continuous-delivery-with-aws-lambda-and-api-gateway-part-1-unit-tests-e517aa1cd09e

Lo que explica cómo estos muchachos están probando la unidad de sus lambda.

over 4 years ago · Santiago Trujillo Relatório

0

Esto es lo que haría:

 'use strict'; const myHandler = require('../lambdaHandler'); const chai = require('chai'); const expect = chai.expect; const chaiAsPromised = require('chai-as-promised'); chai.use(chaiAsPromised); describe('myHandler.handler should return with expected statusCodes', () => { it('should return a 200 statusCode', (done) => { try{ myHandler.handler(event, { succeed : (data) => { expect(data).to.eventually.have.property('statusCode'); expect(data.statusCode).to.eventually.equal(400); done(); }, fail : (data) => { expect(data).to.have.property('statusCode'); done(); }, }); } catch(err){ done(err.message); } }); });
over 4 years ago · Santiago Trujillo Relatório

0

Terminé yendo con lambda-tester: https://github.com/vandium-io/lambda-tester . El único inconveniente es que no es compatible con la versión Node> 4.3.2

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda