jest-dev-server
Starts a server before your Jest tests and tears it down after.
Why
jest-puppeteer
works great for running tests in Jest using Puppeteer.
It's also useful for starting a local development server during the tests without letting Jest hang.
This package extracts just the local development server spawning without any ties to Puppeteer.
Usage
jest-dev-server
exports setup
and teardown
functions.
const { setup: setupDevServer } = require('jest-dev-server')
module.exports = async function globalSetup() {
await setupDevServer({
command: `node config/start.js --port=3000`,
launchTimeout: 50000,
port: 3000,
})
}
const { setup: teardownDevServer } = require('jest-dev-server')
module.exports = async function globalTeardown() {
await teardownDevServer()
}
Options
command
Type: string
, required.
Command to execute to start the port.
Directly passed to spawnd
.
module.exports = {
command: 'npm run start',
}
debug
Type: boolean
, default to false
.
Log server output, useful if server is crashing at start.
module.exports = {
command: 'npm run start',
debug: true,
}
launchTimeout
Type: number
, default to 5000
.
How many milliseconds to wait for the spawned server to be available before giving up.
Defaults to wait-port
's default.
module.exports = {
command: 'npm run start',
launchTimeout: 30000,
}
options
Type: object
, default to {}
.
Any other options to pass to spawnd
.
port
Type: number
, default to null
.
Port to wait for activity on before considering the server running.
If not provided, the server is assumed to immediately be running.
module.exports = {
command: 'npm run start --port 3000',
port: 3000,
}
usedPortAction
Type: string
(ask
, error
, ignore
, kill
) default to ask
.
It defines the action to take if port is already used:
ask
: a prompt is shown to decide if you want to kill the process or noterror
: an errow is thrownignore
: your test are executed, we assume that the server is already startedkill
: the process is automatically killed without a prompt
module.exports = {
command: 'npm run start --port 3000',
port: 3000,
usedPortAction: 'kill',
}
License
MIT