Jest support for Jenkins JS Builder
Run your tests with Jenkins JS Builder using the "Jest" test runner.
Add a gulpfile with the following line:
const jsb = require('@jenkins-cd/js-builder');
Setup npm scripts
It is convenient to invoke js-builder-jest via npm scripts. Add the following to the "scripts" block in package.json:
"test": "gulp test", "test:fast": "gulp test:fast", "test:debug": "node --debug-brk ./node_modules/.bin/gulp test:debug",
The default location for tests is the
test folder. This can be overridden by calling
builder.tests(<new-path> in the gulpfile.
The file names need to match the pattern
jsx extension is also supported.
Run the tests and produces test and coverage reports.
You can limit the tests that are run via the
test parameter. This is a pattern that is passed to Jest's testPathPattern CLI parameter.
JUnit test reports are stored in
target/jest-reports/ and coverage reports in
Note that coverage is only measured for .js and .jsx files in the source directories (default:
npm run test:fast
Runs the tests but skips generation of reports and coverage. This is good for local development.
npm run test:debug
Runs the tests in debug mode on default port 5858. Test execution will be paused until the debugger is attached and execution is resumed.
Running specific tests
Run a single test.
npm run test -- --test test/src/js/foo/bar/foobar-spec
Runs any test with 'calculator' in the path or name.
npm run test -- --test calculator
Run any test inside of a 'math' folder.
npm run test -- --test /math/
Using custom configuration
Jest's command line runner supports custom configuration placed in a "jest" property in package.json.
js-builder-jest will automatically add these configuration options if they are defined.
Jest CLI Options
Jest also supports useful CLI options. These can be used in two ways:
In npm scripts
"test:fast": "gulp test:fast --updateSnapshot",
From command line
npm run test:fast -- --updateSnapshot
Note the double dash above.