# USING JEST IN DEBIAN PACKAGING # Changes added to jest package in default configuration: * jest package excludes .pc/ directory to avoid problems when upstream tests are patched (default value of --modulePathIgnorePatterns) * jest package includes Debian nodejs directories (default values of --modulePaths) # Usage notes: * when upstream installed snapshots in its test files, it may generate false-positive autopkgtest regressions (test succeeds but output changed). To avoid this, use the "-u" option: this updates snapshots and so avoid these kind of errors * always use the "--ci" option when jest is used in Debian packaging and/or autopkgtest. It prevents snapshot from being written * when your package contains component, it is recommended to set a path to jest to avoid launching component test that may be incompatible (component tests can be launched using debian/nodejs//test). Example: $ jest test/ * pkg-js-autopkgtest * jest needs often babel configuration file. Since version 0.9.48, pkg-js-autopkgtest automatically installs .babelrc and babel.config.json in test directory (and installed package.json. If your package uses another file, set a debian/tests/pkg-js/files (see below) * jest tests often need sources files. Use debian/tests/pkg-js/files in this case. * debian/tests/pkg-js/files example (remember that when this file exists, only the mentioned files and package files are installed in test directory): babel.config.json src/ test/ # Switching from ava to jest: ava is not packaged. You can easily replace it by jest using jest-codemods. Simply launch this and follow instructions: $ npx jest-codemods Note that you will probably need a .babelrc or babel.config.json. Example: { "presets": [ "@babel/preset-env" ], "plugins": [ "@babel/plugin-transform-runtime" ] }