serverless-testing-library
serverless-testing-library
makes it easier to write integration and smoke tests for your serverless APIs.
Usage
A simple request.
const test = ;
Here, we import the top-level function test
from serverless-testing-library
and call it. This method reads the serverless configuration file in the root of your project and configures a simple express server wrapped in some convenient testing methods. We then call the get
method, passing it a URL path that exists on our API. The response
object returned from get
contains the HTTP status code and parsed header and body objects.
serverless-testing-library
supports the 5 major HTTP methods: GET
, DELETE
, PATCH
, POST
and PUT
. Each method called on the app
instance returns a Promise to be handled in your tests.
The test
method optionally accepts a serverless configuration file path:
const app = // resolves <project_root>/my_api.ymlconst app = // resolves <project_root>/foo/api.yml
If you are testing a project that lives outside of your project root, resolve the path to the serverless configuration file:
const path = const test = const filePath = path const app =
You can find the complete API documentation here.
Chai Assertions
For those using mocha and chai to test their API's, serverless-testing-library
ships with a simple set of chai assertions.
const chai = const stlChai = chai
You can then use the assertions like so:
tohavestatus200tohavetobejson
Jest Asssertions
Jest users are not left out: serverless-testing-library
also ships with the same matchers for jest.
// test.setup.js
Then configure jest to use the above setup script in either the jest
key of package.json
or jest.config.js
:
// package.json"jest":
Then use it in your test:
Acknowledgements
serverless-testing-library
is heavily inspired by chai-http. The name for this library was inspired by react-testing-library.
License
See LICENSE