now-we-test
v0.9.0
Published
Test your Now deployed Node.js lambdas locally
Downloads
37
Maintainers
Readme
Now we test
Temporary lib to help test Now.sh lambdas written in Node.js. It was created with the purpose to eventually be deprecated when now dev
command is released.
Purpose
Help unit test and locally serve lambdas written to deploy using Now.
Installation
yarn add now-we-test --dev
Usage
For unit tests
In your unit tests, you can use the simulator
helper to simulate a lambda execution environment without needing a running server:
import { simulator } from 'now-we-test'
import func from '../your-lambda-implementation'
const app = simulator(func)
describe('func', () => {
it('should do something', async () => {
const result = await app.get('/')
expect(result.text).toBe('[the value returned by the lambda]')
})
})
Signature:
simulator(
fn: Function,
[builder="@now/node"]: String
)
Alternatively to the default @now/node
building evironment, you can also simulate a now-micro
passing it as second parameter.
The result of the invokation of
simulator
helper is a SuperTest instance, so please refer to that documentation for details on possible assertions and usage.
For locally serving lambdas
Now we test provides a simple CLI to serve your lambdas locally - useful for testing integration with other tools.
Keep in mind there is only so much it can do in terms of simulation, so you should never completelly trust what works locally would necessarily work on Now.sh environment.
Commands
now-we-test serve
Serves the lambdas locally
USAGE
$ now-we-test serve [PATH]
ARGUMENTS
PATH [default: .] The path to the directory where now.json stands
OPTIONS
-f, --format=format [default: combined] logger format (morgan compliant)
-p, --port=port [default: 3000] port to use
See code: lib/commands/serve.js
Only
@now/node
,@now/static
, andnow-micro
builders are available so far.
now-we-test help [COMMAND]
display help for a now-we-test command
USAGE
$ now-we-test help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help