Simple, lightweight tool to help with testing AWS Lambda functions. No dependencies to run.
const expect = require('chai').expect; // chai used for example purposes
const runLambda = require('aws-lambda-test-helper');
const config = {
e: './test/mock/event', // mock event location
ctx: './test/mock/context', // mock context location
fn: './test/mock/fn', // mock function location
handler: 'myHandler', // lambda handler to be called
};
describe('Lambda Test', () => {
describe('#handler()', () => {
it('should run successfully', (done) => {
runLambda(config).then(done()).catch((err) => {
done(err);
});
});
it('should return a valid response object', (done) => {
runLambda(config).then((response) => {
expect(response).to.be.an('object');
expect(response.alt).to.be.a('string');
}).then(done).catch((err) => {
done(err);
});
});
});
});
All config resource paths should be based from your project root. See ./test/mock
for examples.
{
e: './test/mock/event', // mock event location
ctx: './test/mock/context', // mock context location
fn: './test/mock/fn', // mock function location
handler: 'myHandler', // lambda handler to be called
};
npm i -D aws-lambda-test-helper
Inside your project clone this repo: git clone https://github.com/dannycroft/aws-lambda-test-helper.git
then require it from inside your tests const runLambda = require('../aws-lambda-test-helper');
npm run test