bx-jest-electron v0.1.0
bx-jest-electron
支持jest 26+,@testing-library/react 由jest-electron 修改而来。 jest-electron 地址 https://github.com/hustcc/jest-electron。
jest-electron
Easiest way to run jest unit test cases in electron.
When we run unit test in Jest, it is actually running in the node environment, or virtual browser environment(e.g. JSDOM) mocked by NodeJS. Sometimes we need a lot of Jest mocks for running code with no throw, such as: jest-canvas-mock, jest-storage-mock, @jest/fake-timers and so on. This is solved by Jest-Electron.
- Technological ecology of
Jest. - Complete and real
browser environment. Multi-rendererfor running performance.Running and debugis better then mock.
Installation
- Add into devDependencies
$ npm i --save-dev jest-electron- Update Jest config
{
"jest": {
+ "runner": "jest-electron/runner",
+ "testEnvironment": "jest-electron/environment"
}
}Notice: update the runner configure, not testRunner.
Related
Those will be helpful when run test case with
jest-electron.
- jest-less-loader: Run test cases with import
less,csscode. - jest-url-loader: Run test cases with import
svg,png,jpgor other url file..
CI
Run test cases with
jest-electronfor continuous integration.
- GitHub action
Running on macOS will be ok.
- runs-on: ubuntu-latest
+ runs-on: macOS-latest- travis
Update .travis.yml with electron supported.
language: node_js
node_js:
- "8"
- "9"
- "10"
- "11"
- "12"
+ addons:
+ apt:
+ packages:
+ - xvfb
+ install:
+ - export DISPLAY=':99.0'
+ - Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
+ - npm install
script:
- npm run testDepending on your executor, you might need to disable sandbox and shared memory usage:
export JEST_ELECTRON_STARTUP_ARGS='--disable-dev-shm-usage --no-sandbox'
npm run testEnv
- debug mode
Keep the electron browser window for debugging, set process env DEBUG_MODE=1.
DEBUG_MODE=1 jest- additional startup arguments
Run electron with arbitrary arguments.
JEST_ELECTRON_STARTUP_ARGS='--disable-dev-shm-usage'Run electron with --no-sandbox, set process env JEST_ELECTRON_STARTUP_ARGS='--no-sandbox'.
JEST_ELECTRON_STARTUP_ARGS='--no-sandbox' jestLicense
MIT@hustcc.
5 years ago