This project was forked because the package jest-dev-server
is no longer maintained.
Starts a server before your Jest tests and tears it down after.
jest-playwright-preset
or jest-puppeteer
works great for running tests in Jest using your preferred end-to-end testing library. 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.
npm install --save-dev jest-process-manager
jest-process-manager
exports setup
,teardown
and getServers
functions.
// global-setup.js const { setup: setupDevServer } = require('jest-process-manager') module.exports = async function globalSetup() { await setupDevServer({ command: `node config/start.js --port=3000`, launchTimeout: 50000, port: 3000, }) // Your global setup }
It is also possible to specify several servers:
// global-setup.js const { setup: setupDevServer } = require('jest-process-manager') module.exports = async function globalSetup() { await setupDevServer([ { command: 'node server.js', port: 4444, }, { command: 'node server2.js', port: 4445, }, ]) // Your global setup }
// global-setup.js const { setup: setupDevServer, getServers } = require('jest-process-manager') module.exports = async function globalSetup() { await setupDevServer({ command: `node config/start.js --port=3000`, launchTimeout: 50000, port: 3000, }) getServers.then(servers => { // You can get to the servers and do whatever you want }) // Your global setup }
// global-teardown.js const { teardown: teardownDevServer } = require('jest-process-manager') module.exports = async function globalTeardown() { await teardownDevServer() // Your global teardown }
Type: string
, required.
Command to execute to start the port. Directly passed to spawnd
.
module.exports = { command: 'npm run start', }
Type: boolean
, default to false
.
Log server output, useful if server is crashing at start.
module.exports = { command: 'npm run start', debug: true, }
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, }
Following options are linked to spawnd
.
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, }
Type: (https
, http
, http-get
, https-get
, tcp
, socket
) default to tcp
.
To wait for an HTTP or TCP endpoint before considering the server running, include http
or tcp
as a protocol. Must be used in conjunction with port
. This give you ability to define resource prefix for wait-on
package.
module.exports = { command: 'npm run start --port 3000', protocol: 'http', port: 3000, }
Type: number
, default to 3000
.
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, }
Type: string
Option for a basePath where server is running.
module.exports = { command: 'npm run start', basePath: '/myservice', }
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 promptmodule.exports = { command: 'npm run start --port 3000', port: 3000, usedPortAction: 'kill', }
jest-dev-server
use the wait-on
npm package to wait for resources to become available before calling callback.
Type: object
, default to {}
.
delay
: optional initial delay in ms, default 0interval
: optional poll resource interval in ms, default 250mslog
: optional flag which outputs to stdout, remaining resources waited on and when complete or erroredreverse
: optional flag to reverse operation so checks are for resources being NOT available, default falsetimeout
: optional timeout in ms, default Infinity. Aborts with errortcpTimeout
: optional tcp timeout in ms, default 300msverbose
: optional flag which outputs debug output, default falsewindow
: optional stabilization time in ms, default 750ms. Waits this amount of time for file sizes to stabilize or other resource availability to remain unchangedNote: http(s) specific options, see https://github.com/request/request#readme for specific details
module.exports = { command: 'npm run start --port 3000', port: 3000, usedPortAction: 'kill', waitOnScheme: { delay: 1000, }, }
Options which will be passed down to the spawn of the process. For example environment variables:
// global-setup.js const { setup: setupDevServer, getServers } = require('jest-process-manager') module.exports = async function globalSetup() { await setupDevServer({ command: `node config/start.js --port=3000`, launchTimeout: 50000, port: 3000, options: { env: { "FOO": "bar", } } }) getServers.then(servers => { // You can get to the servers and do whatever you want }) // Your global setup }
port
makes the terminal to ask for root password although the port is valid and accessible then use usePortAction: 'ignore'
.https://github.com/playwright-community/jest-process-manager/blob/master/LICENSE
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4