Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

607
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!