JSPM

  • Created
  • Published
  • Downloads 288243
  • Score
    100M100P100Q168148F
  • License MIT

Starts a server before your Jest tests and tears it down after.

Package Exports

  • jest-dev-server

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jest-dev-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.

// global-setup.js
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,
  })
  // Your global setup
}
// global-teardown.js
const { teardown: teardownDevServer } = require('jest-dev-server')

module.exports = async function globalTeardown() {
  await teardownDevServer()
  // Your global teardown
}

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.

host

Type: string, default to localhost.

Host to wait for activity on before considering the server running. Must be used in conjunction with port.

module.exports = {
  command: 'npm run start --port 3000',
  host: 'customhost.com',
  port: 3000,
}

protocol

Type: string, default to null.

To wait for an HTTP endpoint before considering the server running, include http as a protocol. Must be used in conjunction with port.

module.exports = {
  command: 'npm run start --port 3000',
  protocol: 'http',
  port: 3000,
}

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 not
  • error: an errow is thrown
  • ignore: your test are executed, we assume that the server is already started
  • kill: the process is automatically killed without a prompt
module.exports = {
  command: 'npm run start --port 3000',
  port: 3000,
  usedPortAction: 'kill',
}

License

MIT