jest-liveserver
v0.0.2jest-liveserver
A pluggable jest environment which run live-server
in background which can be used in your tests for better e2e tests
WIP and can be buggy
Install
yarn add jest-liveserver -D
Usage
In your jest.config.js
, add/replace the following
{
testEnvironment: 'jest-liveserver',
testEnvironmentOptions: {
liveServer: {port,...},
liveServerJestPlugins: [plugin]
}
}
Options
There are two kind of options this package accepts,
1. liveServer
This is the live-server
package's options
ref this options
2. liveServerJestPlugins
It accepts a array of plugins. ref
Plugins
Why ?
This package supports plugins which can be added to the core of the environment. The core plugin just takes the options for the live-server and simply run a server with them. But sometimes you may need to do some extra works like moving or copy-pasting your site or files to your test folder so for these kind of works use plugins.
Write a Plugin
Plugins are simply objects which returns two methods,
preRun
This will run before running the live-server
server, so work like moving files/folder can be done in this.
this plugin should return a live-server
options which will update the default options or the options passed through jest.config.js
under testEnvironmentOptions.liveServer
eg
{
preRun: (dirname, cwdPath, _liveServerConfig) => new_live_server_config
}
tearDown
This is the method which will run before stopping the live-server
server, this can be use-full when doing operation like cleaning the dir or deleting temporary files etc.
It should not return any thing
eg
{
tearDown: (dirname, cwdPath, _liveServerConfig) => {}
}
Tips
If you are facing issues like environment teardown quickly and closing the server, try to increase the jest timeout time
jest.setTimeout()