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.
Help unit test and locally serve lambdas written to deploy using Now.
yarn add now-we-test --dev
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.
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.
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: src/commands/serve.js
Only
@now/node
,@now/static
, andnow-micro
builders are available so far.
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