cdk-lambda-nodejs-mock

Mock out NodeJsFunction's processor-intensive calls to Parcel/Docker

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
cdk-lambda-nodejs-mock
512.0.2a year ago3 years agoMinified + gzip package size for cdk-lambda-nodejs-mock in KB

Readme

Built with
typescript version dependants license
CDK NodejsFunction Mock
The CDK NodejsFunction construct uses Parcel and Docker to conveniently bundle up your lambda modules. However this is a slow and processor-intensive operation, which results in very slow testing with e.g. Jest.
This module mocks out NodeJsFunctions by replacing them with a standard CDK Lambda Function for the purpose of testing only.

Use with Jest

Whole Project

We recommend using this module across your entire CDK project, by editing your Jest config (e.g. in package.json) to add the following:
{
  "moduleNameMapper": {
    "@aws-cdk/aws-lambda-nodejs": "cdk-lambda-nodejs-mock"
  }
}

A Specific Test File Only

You can use in a specific test file only, rather than globally, as follows:
jest.mock('@aws-cdk/aws-lambda-nodejs', () =>
  require('cdk-lambda-nodejs-mock')
);

Note we use require rather than import, as jest.mock is hoisted above import.

CDK Versions

The module uses peerDependencies rather than dependencies, so that it uses exactly the same CDK version as in your project. This means that you don't need to do anything to make it work with whichever cdk version you are using.

Checklist

| CD Feature | Provided | | ---------- | --------------------------------------- | | ✅ | Typescript | | ✅ | Linting (AirBnB + Prettier) | | ✅ | Unit tests (Jest) | | ✅ | Coverage check (ideally 100% with Jest) | | ✅ | Github Continuous Deployment |

Built by Skyhook

This module is contributed by the team at Skyhook