now-we-test v0.9.0
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
simulatorhelper 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 useSee code: lib/commands/serve.js
Only
@now/node,@now/static, andnow-microbuilders 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 CLISee code: @oclif/plugin-help