-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
Description
Do you want to request a feature or report a bug?
feature
What is the current behavior?
When I run jest --watch
it watches all files and re-runs the tests when one of them changes.
What is the expected behavior?
This works as expected except when we use a webpack plugin that generates a webpack-assets.json
file periodically. After editing a code file, the auto-generated assets file causes the tests to run twice which is slower than it needs to be.
It would be really helpful if I could configure the jest watcher to ignore changes to the webpack-assets.json
file.
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.
$ jest --version
v20.0.4
$ yarn --version
0.24.6
$ node --version
v6.10.3
$ watchman --version
4.7.0
Mac OS X 10.12.5
I know that #2516 was fixed but that solved it for code coverage only. It would be great to have a generic solution to this where we could just ignore files based on a list of patterns.
Jest config
module.exports = {
collectCoverageFrom: ['src/**/*.{js,jsx}'],
coveragePathIgnorePatterns: [
'<rootDir>/node_modules/',
'<rootDir>/src/core/server/webpack-isomorphic-tools-config.js',
'<rootDir>/src/locale/',
],
moduleDirectories: [
'src',
'node_modules',
],
moduleFileExtensions: [
'js',
'json',
'jsx',
],
moduleNameMapper: {
// Prevent un-transpiled react-photoswipe code being required.
'^photoswipe$': '<rootDir>/node_modules/photoswipe',
// Use the client-side logger by default for tests.
'^core/logger$': '<rootDir>/src/core/client/logger',
// Alias tests for tests to be able to import helpers.
'^tests/(.*)$': '<rootDir>/tests/$1',
// Replaces the following formats with an empty module.
'^.+\\.(scss|css|svg|woff|woff2|mp4|webm)$': '<rootDir>/tests/emptyModule',
},
setupTestFrameworkScriptFile: '<rootDir>/tests/setup.js',
testPathIgnorePatterns: [
'<rootDir>/node_modules/',
'<rootDir>/(assets|bin|config|coverage|dist|docs|flow|locale|src)/',
],
testMatch: [
'**/[Tt]est(*).js?(x)',
'**/__tests__/**/*.js?(x)',
],
transform: {
'^.+\\.js$': 'babel-jest',
// This transforms images to be a module that exports the filename.
// Tests can assert on the filenname.
'^.+\\.(jpg|jpeg|gif|png)$': '<rootDir>/tests/fileTransformer',
},
transformIgnorePatterns: [
'<rootDir>/node_modules/',
],
verbose: false,
};