[jest-cli]shouldRunTestSuite watch hook now receives an object withconfig,testPathandduration(#6350)[jest-each]Support one dimensional array of data (#6351)[jest-watch]create new packagejest-watchto ease custom watch plugin development (#6318)[jest-circus]Make hooks in empty describe blocks error (#6320)- Add a config/CLI option
errorOnDeprecatedwhich makes calling deprecated APIs throw hepful error messages.
[jest-each]Fix pluralising missing arguments error (#6369)[jest-each]Stop test title concatenating extra args (#6346)[expect]toHaveBeenNthCalledWith/nthCalledWith gives wrong call messages if not matched (#6340)[jest-each]Make sure invalid arguments toeachpoints back to the user's code (#6347)[expect]toMatchObject throws TypeError when a source property is null (#6313)[jest-cli]Normalize slashes in paths in CLI output on Windows (#6310)[jest-cli]Fix run beforeAll in excluded suites tests" mode. (#6234)[jest-haste-map] Compute SHA-1s for non-tracked files when using Node crawler (#6264)
[docs]Improve documentation ofmockClear,mockReset, andmockRestore(#6227)[jest-circus]Add dependency on jest-each (#6309)[jest-each]Refactor each to use shared implementation with core (#6345)[jest-each]Update jest-each docs for serialising values into titles (#6337)[jest-circus]Add dependency on jest-each (#6309)[filenames]Rename "integration-tests" to "e2e" (#6315)[docs]Mention the use of commit hash with--changedSinceflag (#6330)
[jest-jasemine2]Add dependency on jest-each (#6308)[jest-each]Move jest-each into core Jest (#6278)[examples]Update typescript example to using ts-jest (#6260)
[pretty-format]Serialize inverse asymmetric matchers correctly (#6272)
[expect]ExposegetObjectSubset,iterableEquality, andsubsetEquality(#6210)[jest-snapshot]Add snapshot property matchers (#6210)[jest-config]Support jest-preset.js files within Node modules (#6185)[jest-cli]Add--detectOpenHandlesflag which enables Jest to potentially track down handles keeping it open after tests are complete. (#6130)[jest-jasmine2]Add data driven testing based onjest-each(#6102)[jest-matcher-utils]Change "suggest to equal" message to be more advisory (#6103)[jest-message-util]Don't ignore messages withvendoranymore (#6117)[jest-validate]Get rid ofjest-configdependency (#6067)[jest-validate]Adds option to injectdeprecationEntries(#6067)[jest-snapshot][BREAKING] Concatenate name of test, optional snapshot name and count (#6015)[jest-runtime]Allow for transform plugins to skip the definition process method if createTransformer method was defined. (#5999)[expect]Add stack trace for async errors (#6008)[jest-jasmine2]Add stack trace for timeouts (#6008)[jest-jasmine2]Add stack trace for thrown non-Errors (#6008)[jest-runtime]Prevent modules from marking themselves as their own parent (#5235)[jest-mock]Add support for auto-mocking generator functions (#5983)[expect]Add support for async matchers Β (#5919)[expect]Suggest toContainEqual (#5948)[jest-config]Export Jest's default options (#5948)[jest-editor-support]MovecoveragetoProjectWorkspace.collectCoverage(#5929)[jest-editor-support]Addcoverageoption to runner (#5836)[jest-haste-map]Support extracting dynamicimports (#5883)[expect]Improve output format for mismatchedArgs in mock/spy calls. (#5846)[jest-cli]Add support for using--coveragein combination with watch mode,--onlyChanged,--findRelatedTestsand more (#5601)[jest-jasmine2][BREAKING] Adds error throwing and descriptive errors toit/testfor invalid arguments.[jest-circus]Adds error throwing and descriptive errors toit/testfor invalid arguments (#5558)[jest-matcher-utils]AddisNotoption tomatcherHintfunction (#5512)[jest-config]Add<rootDir>to runtime files not found error report (#5693)[expect]Make toThrow matcher pass only if Error object is returned from promises (#5670)[expect]Add isError to utils (#5670)[expect]Add inverse matchers (expect.not.arrayContaining, etc., #5517)[expect]expect.extendnow also extends asymmetric matchers (#5503)[jest-mock]UpdatespyOnPropertyto support spying on the prototype chain (#5753)[jest-mock]Add tracking of return values in themockproperty (#5752)[jest-mock]Add tracking of thrown errors in themockproperty (#5764)[expect]Add nthCalledWith spy matcher (#5605)[jest-cli]AddisSerialproperty that runners can expose to specify that they can not run in parallel (#5706)[expect]Add.toBeCalledTimesandtoHaveBeenNthCalledWithaliases (#5826)[jest-cli]Interactive Snapshot Mode improvements (#5864)[jest-editor-support]Addno-coloroption to runner (#5909)[jest-jasmine2]Pretty-print non-Error object errors (#5980)[jest-message-util]Include column in stack frames (#5889)[expect]Introduce toStrictEqual (#6032)[expect]Add return matchers (#5879)[jest-cli]Improve snapshot summaries (#6181)[expect]Include custom mock names in error messages (#6199)[jest-diff]Support returning diff from oneline strings (#6221)[expect]Improve return matchers (#6172)[jest-cli]Overhaul watch plugin hooks names (#6249)[jest-mock]Include tracked call results in serialized mock (#6244)
[jest-cli]Fix stdin encoding to utf8 for watch plugins. (#6253)[expect]Better detection of DOM Nodes for equality (#6246)[jest-cli]Fix misleading action description for F key when in "only failed tests" mode. (#6167)[jest-worker]Stick calls to workers before processing them (#6073)[babel-plugin-jest-hoist]Allow usingconsoleglobal variable (#6075)[jest-jasmine2]Always remove node core message from assert stack traces (#6055)[expect]Add stack trace whenexpect.assertionsandexpect.hasAssertionscauses test failures. (#5997)[jest-runtime]Throw a more useful error when trying to require modules after the test environment is torn down (#5888)[jest-mock][BREAKING] Replace timestamps withinvocationCallOrder(#5867)[jest-jasmine2]Installsourcemap-supportinto normal runtime to catch runtime errors (#5945)[jest-jasmine2]Added assertion error handling insideafterAll hook(#5884)[jest-cli]Remove the notifier actions in case of failure when not in watch mode. (#5861)[jest-mock]Extend .toHaveBeenCalled return message with outcome (#5951)[jest-runner]Assignprocess.env.JEST_WORKER_ID="1"when in runInBand mode (#5860)[jest-cli]Add descriptive error message when trying to useglobalSetup/globalTeardownfile that doesn't export a function. (#5835)[expect]Do not rely oninstanceof RegExp, since it will not work for RegExps created inside of a different VM (#5729)[jest-resolve]Update node module resolution algorithm to correctly handle symlinked paths (#5085)[jest-editor-support]UpdateSettingsto use spawn in shell option (#5658)[jest-cli]Improve the error message when 2 projects resolve to the same config (#5674)[jest-runtime]remove retainLines from coverage instrumentation (#5692)[jest-cli]Fix update snapshot issue when using watchAll (#5696)[expect]Fix rejects.not matcher (#5670)[jest-runtime]Prevent Babel warnings on large files (#5702)[jest-mock]PreventmockRejectedValuefrom causing unhandled rejection (#5720)[pretty-format]Handle React fragments better (#5816)[pretty-format]Handle formatting ofReact.forwardRefandContextcomponents (#6093)[jest-cli]Switch collectCoverageFrom back to a string (#5914)[jest-regex-util]Fix handling regex symbols in tests path on Windows (#5941)[jest-util]Fix handling of NaN/Infinity in mock timer delay (#5966)[jest-resolve]Generalise test for package main entries equivalent to ".". (#5968)[jest-config]Ensure that custom resolvers are used when resolving the configuration (#5976)[website]Fix website docs (#5853)[expect]Fix isEqual Set and Map to compare object values and keys regardless of order (#6150)[pretty-format][BREAKING] Remove undefined props from React elements (#6162)[jest-haste-map]Properly resolve mocked node modules without package.json defined (#6232)
[jest-runner]Move sourcemap installation fromjest-jasmine2tojest-runner(#6176)[jest-cli]Use yargs's built-inversioninstead of rolling our own (#6215)[docs]Add explanation on how to mock methods not implemented in JSDOM[jest-jasmine2]SimplifyEnv.executeand TreeProcessor to setup and clean resources for the top suite the same way as for all of the children suites (#5885)[babel-jest][BREAKING] Always return object from transformer (#5991)[*]Run Prettier on compiled output (#5858)[jest-cli]Add fileChange hook for plugins (#5708)[docs]Add docs on usingjest.mock(...)(#5648)[docs]Mention Jest Puppeteer Preset (#5722)[docs]Add jest-community section to website (#5675)[docs]Add versioned docs for v22.4 (#5733)[docs]Improve Snapshot Testing Guide (#5812)[jest-runtime][BREAKING] Removejest.genMockFnandjest.genMockFunction(#6173)[jest-message-util]Avoid adding unnecessary indent to blank lines in stack traces (#6211)
[jest-haste-map]Recreate Haste map when deserialization fails (#5642)
[jest-haste-map]Parallelize Watchman calls in crawler (#5640)[jest-editor-support]Update TypeScript definitions (#5625)[babel-jest]RemoveretainLinesargument to babel. (#5594)
[jest-runtime]Providerequire.mainproperty set to module with test suite (#5618)
[docs]Add note about Node version support (#5622)[docs]Update to use yarn (#5624)[docs]Add how to mock scoped modules to Manual Mocks doc (#5638)
[jest-haste-map]Overhauls how Watchman crawler works fixing Windows (#5615)[expect]Allow matching of Errors against plain objects (#5611)[jest-haste-map]Do not read binary files in Haste, even when instructed to do so (#5612)[jest-cli]Don't skip matchers for exact files (#5582)[docs]Update discord links (#5586)[jest-runtime]Align handling of testRegex on Windows between searching for tests and instrumentation checks (#5560)[jest-config]Make it possible to mergetransformoption with preset (#5505)[jest-util]Fixconsole.assertbehavior in custom & buffered consoles (#5576)
[docs]Add MongoDB guide (#5571)[jest-runtime]Deprecate mapCoverage option. (#5177)[babel-jest]Add option to return sourcemap from the transformer separately from source. (#5177)[jest-validate]Add ability to log deprecation warnings for CLI flags. (#5536)[jest-serializer]Added new module for serializing. Works using V8 or JSON (#5609)[docs]Add a documentation note for projectdisplayNameconfiguration (#5600)
[docs]Update automatic mocks documentation (#5630)
[expect]Add descriptive error message to CalledWith methods when missing optional arguments (#5547)[jest-cli]Fix inability to quit watch mode while debugger is still attached (#5029)[jest-haste-map]Properly handle platform-specific file deletions (#5534)
[jest-util]Add the following methods to the "console" implementations:assert,count,countReset,dir,dirxml,group,groupCollapsed,groupEnd,time,timeEnd(#5514)[docs]Add documentation for interactive snapshot mode (#5291)[jest-editor-support]Add watchAll flag (#5523)[jest-cli]Support multiple glob patterns forcollectCoverageFrom(#5537)[docs]Add versioned documentation to the website (#5541)
[jest-config]Allow<rootDir>to be used withcollectCoverageFrom(#5524)[filenames]Standardize files names in "integration-tests" folder (#5513)
[babel-jest]Revert "Remove retainLines from babel-jest" (#5496)[jest-docblock]Support multiple of the same@pragma. (#5154)
[jest-worker]Assign a unique id for each worker and pass it to the child process. It will be available viaprocess.env.JEST_WORKER_ID(#5494)
[filenames]Standardize file names in root (#5500)
[jest-config]"all" takes precedence over "lastCommit" (#5486)
[jest-runner]Move test summary to after coverage report (#4512)[jest-cli]Added--notifyModeto specify when to be notified. (#5125)[diff-sequences]New package compares items in two sequences to find a longest common subsequence. (#5407)[jest-matcher-utils]Addcommentoption tomatcherHintfunction (#5437)[jest-config]Allow lastComit and changedFilesWithAncestor via JSON config (#5476)[jest-util]Add deletion toprocess.envas well (#5466)[jest-util]Add case-insensitive getters/setters toprocess.env(#5465)[jest-mock]Add util methods to create async functions. (#5318)
[jest-cli]Add trailing slash when checking root folder (#5464)[jest-cli]Hide interactive mode if there are no failed snapshot tests (#5450)[babel-jest]Remove retainLines from babel-jest (#5439)[jest-cli]Glob patterns ignore non-require-able files (e.g.README.md) (#5199)[jest-mock]Add backticks support (``) tomocka certain package via the__mocks__folder. (#5426)[jest-message-util]Prevent anENOENTcrash when the test file contained a malformed source-map. (#5405).[jest]Addimport-localtojestpackage. (#5353)[expect]Support class instances in.toHaveProperty()and.toMatchObjectmatcher. (#5367)[jest-cli]Fix npm update command for snapshot summary. (#5376, 5389)[expect]Makerejectsandresolvessynchronously validate its argument. (#5364)[docs]Add tutorial page for ES6 class mocks. (#5383)[jest-resolve]Search required modules in node_modules and then in custom paths. (#5403)[jest-resolve]Get builtin modules from node core. (#5411)[jest-resolve]Detect and preserve absolute paths inmoduleDirectories. Do not generate additional (invalid) paths by prepending each ancestor ofcwdto the absolute path. Additionally, this fixes functionality in Windows OS. (#5398)
[jest-util]Implement watch plugins (#5399)
[jest-util]Add "debug" method to "console" implementations (#5350)[jest-resolve]Add condition to avoid infinite loop when node module package main is ".". (#5344)
[jest-cli]--changedSince: allow selectively running tests for code changed since arbitrary revisions. (#5312)
[jest-cli]Check if the file belongs to the checked project before adding it to the list, also checking that the file name is not explicitly blacklisted (#5341)[jest-editor-support]Add option to spawn command in shell (#5340)
[jest-cli]Check if the file belongs to the checked project before adding it to the list (#5335)[jest-cli]FixEISDIRwhen a directory is passed as an argument tojest. (#5317)[jest-config]Added restoreMocks config option. (#5327)
[*]Move from "process.exit" to "exit. (#5313)
[jest-cli]Make Jest exit without an error when no tests are found in the case of--lastCommit,--findRelatedTests, or--onlyChangedoptions having been passed to the CLI[jest-cli]Add interactive snapshot mode (#3831)
[jest-cli]Useimport-localto support global Jest installations. (#5304)[jest-runner]Fix memory leak in coverage reporting (#5289)[docs]Update mention of the minimal version of node supported (#4947)[jest-cli]Fix missing newline in console message (#5308)[jest-cli]--lastCommitand--changedFilesWithAncestornow take effect even when--onlyChangedis not specified. (#5307)
[filenames]Standardize folder names underintegration-tests/(#5298)
[jest-jasmine2]Fix memory leak in snapshot reporting (#5279)[jest-config]Fix breaking change in--testPathPattern(#5269)[docs]Document caveat with mocks, Enzyme, snapshots and React 16 (#5258)
[jest-leak-detector]Removed the reference toweak. Now, parent projects must install it by hand for the module to work.[expect]Fail test when the types ofstringContainingandstringMatchingmatchers do not match. (#5069)[jest-cli]Treat dumb terminals as noninteractive (#5237)[jest-cli]jest --onlyChanged --changedFilesWithAncestornow also works with git. (#5189)[jest-config]fix unexpected condition to avoid infinite recursion in Windows platform. (#5161)[jest-config]Escape parentheses and other glob characters inrootDirbefore interpolating withtestMatch. (#4838)[jest-regex-util]Fix breaking change in--testPathPattern(#5230)[expect]Do not overrideErrorstack (withError.captureStackTrace) for custom matchers. (#5162)[pretty-format]Pretty format for DOMStringMap and NamedNodeMap (#5233)[jest-cli]Use a better console-clearing string on Windows (#5251)
[jest-jasmine]Allowed classes and functions asdescribenames. (#5154)[jest-jasmine2]Support generator functions as specs. (#5166)[jest-jasmine2]AllowspyOnwith getters and setters. (#5107)[jest-config]Allow configuration objects insideprojectsarray (#5176)[expect]Add support to.toHavePropertymatcher to accept the keyPath argument as an array of properties/indices. (#5220)[docs]Add documentation for .toHaveProperty matcher to accept the keyPath argument as an array of properties/indices. (#5220)[jest-runner]test environments are now passed a newoptionsparameter. Currently this only has theconsolewhich is the test console that Jest will expose to tests. (#5223)[jest-environment-jsdom]pass theoptions.consoleto a custom instance ofvirtualConsoleso jsdom is using the same console as the test. (#5223)
[docs]Describe the order of execution of describe and test blocks. (#5217, #5238)[docs]Add a note onmoduleNameMapperordering. (#5249)
[jest-cli]New line before quitting watch mode. (#5158)
[babel-jest]moduleFileExtensions not passed to babel transformer. (#5110)
[*]Tweaks to better support Node 4 (#5142)
[*]Tweaks to better support Node 4 (#5134)
[jest-runtime]fix error for test files providing coverage. (#5117)
[jest-config]AddforceCoverageMatchto allow collecting coverage from ignored files. (#5081)
[jest-resolve]Usemodule.builtinModulesasBUILTIN_MODULESwhen it exists[jest-worker]Removedebugandinspectflags from the arguments sent to the child (#5068)[jest-config]Use all--testPathPatternand<regexForTestFiles>args intestPathPattern(#5066)[jest-cli]Do not support--watchinside non-version-controlled environments (#5060)[jest-config]Escape Windows path separator in testPathPattern CLI arguments (#5054[jest-jasmine]Register sourcemaps as node environment to improve performance with jsdom (#5045)[pretty-format]Do not call toJSON recursively (#5044)[pretty-format]Fix errors when identity-obj-proxy mocks CSS Modules (#4935)[babel-jest]Fix support for namespaced babel version 7 (#4918)[expect]fix .toThrow for promises (#4884)[jest-docblock]pragmas should preserve urls (#4837)[jest-cli]Check ifnpm_lifecycle_scriptcalls Jest directly (#4629)[jest-cli]Fix --showConfig to show all configs (#4494)[jest-cli]Throw ifmaxWorkersdoesn't have a value (#4591)[jest-cli]Usefs.realpathSync.nativeif available (#5031)[jest-config]Fix--passWithNoTests(#4639)[jest-config]SupportrootDirtag in testEnvironment (#4579)[jest-editor-support]Fix--showConfigto support jest 20 and jest 21 (#4575)[jest-editor-support]Fix editor support test for node 4 (#4640)[jest-mock]Support mocking constructor inmockImplementationOnce(#4599)[jest-runtime]Fix manual user mocks not working with custom resolver (#4489)[jest-util]FixrunOnlyPendingTimersforsetTimeoutinsidesetImmediate(#4608)[jest-message-util]Always remove node internals from stacktraces (#4695)[jest-resolve]changes method of determining builtin modules to include missing builtins (#4740)[pretty-format]Prevent error in pretty-format for window in jsdom test env (#4750)[jest-resolve]Preserve module identity for symlinks (#4761)[jest-config]Include error message forpresetjson (#4766)[pretty-format]ThrowPrettyFormatPluginErrorif a plugin halts with an exception (#4787)[expect]Keep the stack trace unchanged whenPrettyFormatPluginErroris thrown by pretty-format (#4787)[jest-environment-jsdom]Fix asynchronous test will fail due to timeout issue. (#4669)[jest-cli]Fix--onlyChangedpath case sensitivity on Windows platform (#4730)[jest-runtime]Use realpath to match transformers (#5000)[expect][BREAKING] Replace identity equality with Object.is in toBe matcher (#4917)
[jest-message-util]Add codeframe to test assertion failures (#5087)[jest-config]Add Global Setup/Teardown options (#4716)[jest-config]AddtestEnvironmentOptionsto apply to jsdom options or node context. (#5003)[jest-jasmine2]Update Timeout error message tojest.timeoutand display current timeout value (#4990)[jest-runner]Enable experimental detection of leaked contexts (#4895)[jest-cli]Add combined coverage threshold for directories. (#4885)[jest-mock]Addtimestampsto mock state. (#4866)[eslint-plugin-jest]Addprefer-to-have-lengthlint rule. (#4771)[jest-environment-jsdom][BREAKING] Upgrade to JSDOM@11 (#4770)[jest-environment-*][BREAKING] Add Async Test Environment APIs, dispose is now teardown (#4506)[jest-cli]Add an option to clear the cache (#4430)[babel-plugin-jest-hoist]Improve error message, that the second argument ofjest.mockmust be an inline function (#4593)[jest-snapshot][BREAKING] Concatenate name of test and snapshot (#4460)[jest-cli][BREAKING] Fail if no tests are found (#3672)[jest-diff]Highlight only last of odd length leading spaces (#4558)[jest-docblock]Adddocblock.print()(#4517)[jest-docblock]Addstrip(#4571)[jest-docblock]Preserve leading whitespace in docblock comments (#4576)[jest-docblock]remove leading newlines fromparswWithComments().comments(#4610)[jest-editor-support]Add Snapshots metadata (#4570)[jest-editor-support]Adds an 'any' to the typedef forupdateFileWithJestStatus(#4636)[jest-editor-support]Better monorepo support (#4572)[jest-environment-jsdom]Add simple rAF polyfill in jsdom environment to work with React 16 (#4568)[jest-environment-node]Implement node Timer api (#4622)[jest-jasmine2]Add testPath to reporter callbacks (#4594)[jest-mock]Added support for naming mocked functions with.mockName(value)and.mockGetName()(#4586)[jest-runtime]Addmodule.loaded, and makemodule.requirenot enumerable (#4623)[jest-runtime]Addmodule.parent(#4614)[jest-runtime]Support sourcemaps in transformers (#3458)[jest-snapshot][BREAKING] Add a serializer forjest.fnto allow a snapshot of a jest mock (#4668)[jest-worker]Initial version of parallel worker abstraction, say hello! (#4497)[jest-jasmine2]AddtestLocationInResultsflag to add location information per spec to test results (#4782)[jest-environment-jsdom]Update JSOM to 11.4, which includes built-in support forrequestAnimationFrame(#4919)[jest-cli]Hide watch usage output when running on non-interactive environments (#4958)[jest-snapshot]Promises support fortoThrowErrorMatchingSnapshot(#4946)[jest-cli]Explain which snapshots are obsolete (#5005)
[docs]Add guide of using with puppeteer (#5093)[jest-util]jest-utilshould not depend onjest-mock(#4992)[*][BREAKING] Drop support for Node.js version 4 (#4769)[docs]Wrap code comments at 80 characters (#4781)[eslint-plugin-jest]Removed from the Jest core repo, and moved to https://github.com/jest-community/eslint-plugin-jest (#4867)[babel-jest]Explicitly bump istanbul to newer versions (#4616)[expect]Upgrade mocha and rollup for browser testing (#4642)[docs]Add info aboutcoveragePathIgnorePatterns(#4602)[docs]Add Vuejs series of testing with Jest (#4648)[docs]Mention about optionaldoneargument in test function (#4556)[jest-cli]Bump node-notifier version (#4609)[jest-diff]Simplify highlight for leading and trailing spaces (#4553)[jest-get-type]Add support for date (#4621)[jest-matcher-utils]Callchalk.inversefor trailing spaces (#4578)[jest-runtime]Add.advanceTimersByTime; keep.runTimersToTime()as an alias.[docs]Include missing dependency in TestEnvironment sample code[docs]Add clarification for hook execution order[docs]Updateexpect.anything()sample code (#5007)
- Fix watchAll not running tests on save (#4550)
- Add missing escape sequences to ConvertAnsi plugin (#4544)
- π Change license from BSD+Patents to MIT.
- Allow eslint-plugin to recognize more disabled tests (#4533)
- Add babel-plugin for object spread syntax to babel-preset-jest (#4519)
- Display outer element and trailing newline consistently in jest-diff (#4520)
- Do not modify stack trace of JestAssertionError (#4516)
- Print errors after test structure in verbose mode (#4504)
- Fix
--silent --verboseproblem (#4505) - Fix: Reset local state of assertions when using hasAssertions (#4498)
- jest-resolve: Prevent default resolver failure when potential resolution directory does not exist (#4483)
- (minor) Use ES module exports (#4454)
- Allow chaining mockClear and mockReset (#4475)
- Call jest-diff and pretty-format more precisely in toHaveProperty matcher (#4445)
- Expose restoreAllMocks to object (#4463)
- Fix function name cleaning when making mock fn (#4464)
- Fix Map/Set equality checker (#4404)
- Make FUNCTION_NAME_RESERVED_PATTERN stateless (#4466)
- Take precedence of NODE_PATH when resolving node_modules directories (#4453)
- Fix race condition with --coverage and babel-jest identical file contents edge case (#4432)
- Add extra parameter
--runTestsByPath. (#4411) - Upgrade all outdated deps (#4425)
- Remove obsolete error (#4417)
-
Add --changedFilesWithAncestor (#4070)
-
Add --findRelatedFiles (#4131)
-
Add --onlyChanged tests (#3977)
-
Add
contextLinesoption to jest-diff (#4152) -
Add alternative serialize API for pretty-format plugins (#4114)
-
Add displayName to MPR (#4327)
-
Add displayName to TestResult (#4408)
-
Add es5 build of pretty-format (#4075)
-
Add extra info to no tests for changed files message (#4188)
-
Add fake chalk in browser builds in order to support IE10 (#4367)
-
Add jest.requireActual (#4260)
-
Add maxWorkers to globalConfig (#4005)
-
Add skipped tests support for jest-editor-support (#4346)
-
Add source map support for better debugging experience (#3738)
-
Add support for Error objects in toMatchObject (#4339)
-
Add support for Immutable.Record in pretty-format (#3678)
-
Add tests for extract_requires on export types (#4080)
-
Add that toMatchObject can match arrays (#3994)
-
Add watchPathIgnorePatterns to exclude paths to trigger test re-run in watch mode (#4331)
-
Adding ancestorTitles property to JSON test output (#4293)
-
Allow custom resolver to be used with[out] moduleNameMapper (#4174)
-
Avoid parsing
.require(β¦)method calls (#3777) -
Avoid unnecessary function declarations and call in pretty-format (#3962)
-
Avoid writing to stdout in default reporter if --json is enabled. Fixes #3941 (#3945)
-
Better error handling for --config (#4230)
-
Call consistent pretty-format plugins within Jest (#3800)
-
Change babel-core to peerDependency for compatibility with Babel 7 (#4162)
-
Change Promise detection code in jest-circus to support non-global Promise implementations (#4375)
-
Changed files eager loading (#3979)
-
Check whether we should output to stdout or stderr (#3953)
-
Clarify what objects toContain and toContainEqual can be used on (#4307)
-
Clean up resolve() logic. Provide useful names for variables and functions. Test that a directory exists before attempting to resolve files within it. (#4325)
-
cleanupStackTrace (#3696)
-
compare objects with Symbol keys (#3437)
-
Complain if expect is passed multiple arguments (#4237)
-
Completes nodeCrawl with empty roots (#3776)
-
Consistent naming of files (#3798)
-
Convert code base to ESM import (#3778)
-
Correct summary message for flag --findRelatedTests. (#4309)
-
Coverage thresholds can be set up for individual files (#4185)
-
custom reporter error handling (#4051)
-
Define separate type for pretty-format plugin Options (#3802)
-
Delete confusing async keyword (#3679)
-
Delete redundant branch in ReactElement and HTMLElement plugins (#3731)
-
Don't format node assert errors when there's no 'assert' module (#4376)
-
Don't print test summary in --silent (#4106)
-
Don't try to build ghost packages (#3934)
-
Escape double quotes in attribute values in HTMLElement plugin (#3797)
-
Explain how to clear the cache (#4232)
-
Factor out common code for collections in pretty-format (#4184)
-
Factor out common code for markup in React plugins (#4171)
-
Feature/internal resolve (#4315)
-
Fix --logHeapUsage (#4176)
-
Fix --showConfig to show all project configs (#4078)
-
Fix --watchAll (#4254)
-
Fix bug when setTimeout is mocked (#3769)
-
Fix changedFilesWithAncestor (#4193)
-
Fix colors for expected/stored snapshot message (#3702)
-
Fix concurrent test failure (#4159)
-
Fix for 4286: Compare Maps and Sets by value rather than order (#4303)
-
fix forceExit (#4105)
-
Fix grammar in React Native docs (#3838)
-
Fix inconsistent name of complex values in pretty-format (#4001)
-
Fix issue mocking bound method (#3805)
-
Fix jest-circus (#4290)
-
Fix lint warning in master
(#4132)
-
Fix linting (#3946)
-
fix merge conflict (#4144)
-
Fix minor typo (#3729)
-
fix missing console.log messages (#3895)
-
fix mock return value (#3933)
-
Fix mocking for modules with folders on windows (#4238)
-
Fix NODE_PATH resolving for relative paths (#3616)
-
Fix options.moduleNameMapper override order with preset (#3565 (#3689)
-
Fix React PropTypes warning in tests for Immutable plugin (#4412)
-
Fix regression in mockReturnValueOnce (#3857)
-
Fix sample code of mock class constructors (#4115)
-
Fix setup-test-framework-test (#3773)
-
fix typescript jest test crash (#4363)
-
Fix watch mode (#4084)
-
Fix Watchman on windows (#4018)
-
Fix(babel): Handle ignored files in babel v7 (#4393)
-
Fix(babel): Support upcoming beta (#4403)
-
Fixed object matcher (#3799)
-
Fixes #3820 use extractExpectedAssertionsErrors in jasmine setup
-
Flow upgrade (#4355)
-
Force message in matchers to always be a function (#3972)
-
Format
describeand usetestinstead ofitalias (#3792) -
global_config.js for multi-project runner (#4023)
-
Handle async errors (#4016)
-
Hard-fail if hasteImpl is throwing an error during initialization. (#3812)
-
Ignore import type for extract_requires (#4079)
-
Ignore indentation of data structures in jest-diff (#3429)
-
Implement 'jest.requireMock' (#4292)
-
Improve Jest phabricator plugin (#4195)
-
Improve Seq and remove newline from non-min empty in Immutable plugin (#4241)
-
Improved the jest reporter with snapshot info per test. (#3660)
-
Include fullName in formattedAssertion (#4273)
-
Integrated with Yarn workspaces (#3906)
-
jest --all (#4020)
-
jest-circus test failures (#3770)
-
jest-circus Timeouts (#3760)
-
jest-haste-map: add test case for broken handling of ignore pattern (#4047)
-
jest-haste-map: add test+fix for broken platform module support (#3885)
-
jest-haste-map: deprecate functional ignorePattern and use it in cache key (#4063)
-
jest-haste-map: mock 'fs' with more idiomatic jest.mock() (#4046)
-
jest-haste-map: only file IO errors should be silently ignored (#3816)
-
jest-haste-map: throw when trying to get a duplicated module (#3976)
-
jest-haste-map: watchman crawler: normalize paths (#3887)
-
jest-runtime: atomic cache write, and check validity of data (#4088)
-
Join lines with newline in jest-diff (#4314)
-
Keep ARGV only in CLI files (#4012)
-
let transformers adjust cache key based on mapCoverage (#4187)
-
Lift requires (#3780)
-
Log stack when reporting errors in jest-runtime (#3833)
-
Make --listTests return a new line separated list when not using --json (#4229)
-
Make build script printing small-terminals-friendly (#3892)
-
Make error messages more explicit for toBeCalledWith assertions (#3913)
-
Make jest-matcher-utils use ESM exports (#4342)
-
Make jest-runner a standalone package. (#4236)
-
Make Jestβs Test Runner configurable. (#4240)
-
Make listTests always print to console.log (#4391)
-
Make providesModuleNodeModules ignore nested node_modules directories
-
Make sure function mocks match original arity (#4170)
-
Make sure runAllTimers also clears all ticks (#3915)
-
Make toBe matcher error message more helpful for objects and arrays (#4277)
-
Make useRealTimers play well with timers: fake (#3858)
-
Move getType from jest-matcher-utils to separate package (#3559)
-
Multiroot jest-change-files (#3969)
-
Output created snapshot when using --ci option (#3693)
-
Point out you can use matchers in .toMatchObject (#3796)
-
Prevent babelrc package import failure on relative current path (#3723)
-
Print RDP details for windows builds (#4017)
-
Provide better error checking for transformed content (#3807)
-
Provide printText and printComment in markup.js for HTMLElement plugin (#4344)
-
Provide regex visualization for testRegex (#3758)
-
Refactor CLI (#3862)
-
Refactor names and delimiters of complex values in pretty-format (#3986)
-
Replace concat(Immutable) with Immutable as item of plugins array (#4207)
-
Replace Jasmine with jest-circus (#3668)
-
Replace match with test and omit redundant String conversion (#4311)
-
Replace print with serialize in AsymmetricMatcher plugin (#4173)
-
Replace print with serialize in ConvertAnsi plugin (#4225)
-
Replace print with serialize in HTMLElement plugin (#4215)
-
Replace print with serialize in Immutable plugins (#4189)
-
Replace unchanging args with one config arg within pretty-format (#4076)
-
Return UNDEFINED for undefined type in ReactElement plugin (#4360)
-
Rewrite some read bumps in pretty-format (#4093)
-
Run update method before installing JRE on Circle (#4318)
-
Separated the snapshot summary creation from the printing to improve testability. (#4373)
-
Set coverageDirectory during normalize phase (#3966)
-
Setup custom reporters after default reporters (#4053)
-
Setup for Circle 2 (#4149)
-
Simplify readme (#3790)
-
Simplify snapshots definition (#3791)
-
skipNodeResolution config option (#3987)
-
Small fixes to toHaveProperty docs (#3878)
-
Sort attributes by name in HTMLElement plugin (#3783)
-
Specify watchPathIgnorePatterns will only be available in Jest 21+ (#4398)
-
Split TestRunner off of TestScheduler (#4233)
-
Strict and explicit config resolution logic (#4122)
-
Support maxDepth option in React plugins (#4208)
-
Support SVG elements in HTMLElement plugin (#4335)
-
Test empty Immutable collections with {min: false} option (#4121)
-
test to debug travis failure in master (#4145)
-
testPathPattern message test (#4006)
-
Throw Error When Using Nested It Specs (#4039)
-
Throw when moduleNameMapper points to inexistent module (#3567)
-
Unified 'no tests found' message for non-verbose MPR (#4354)
-
Update migration guide with jest-codemods transformers (#4306)
-
Use "inputSourceMap" for coverage re-mapping. (#4009)
-
Use "verbose" no test found message when there is only one project (#4378)
-
Use babel transform to inline all requires (#4340)
-
Use eslint plugins to run prettier (#3971)
-
Use iterableEquality in spy matchers (#3651)
-
Use modern HTML5 <!DOCTYPE> (#3937)
-
Wrap
Error.captureStackTracein a try (#4035)
- Fix jest-haste-map's handling of duplicate module IDs. (#3647)
- Fix behavior of
enableAutomock()when automock is set to false. (#3624) - Fix progress bar in windows. (#3626)
- Fix reporters 'default' setting. (#3562)
- Fix to make Jest fail when the coverage threshold not met. (#3554)
- Add ansi-regex to pretty-format dependencies (#3498)
- Fix replacement in testMatch and moduleDirectories (#3538)
- Fix expect.hasAssertions() to throw when passed arguments (#3526)
- Fix stack traces without proper error messages (#3513)
- Fix support for custom extensions through haste packages (#3537)
- Fix test contexts between test functions (#3506)
- New
--projectsoption to run one instance of Jest in multiple projects at the same time. (#3400) - New multi project runner (#3156)
- New --listTests flag. (#3441)
- New --showConfig flag. (#3296)
- New promise support for all
expectmatchers through.resolvesand.rejects. (#3068) - New
expect.hasAssertions()function similar toexpect.assertions(). (#3379) - New
this.equalsfunction exposed to custom matchers. (#3469) - New
valid-expectlint rule ineslint-plugin-jest. (#3067) - New HtmlElement pretty-format plugin. (#3230)
- New Immutable pretty-format plugins. (#2899)
- New test environment per file setting through
@jest-environmentin the docblock. (#2859) - New feature that allows every configuration option to be set from the command line. (#3424)
- New feature to add custom reporters to Jest through
reportersin the configuration. (#3349) - New feature to add expected and actual values to AssertionError. (#3217)
- New feature to map code coverage from transformers. (#2290)
- New feature to run untested code coverage in parallel. (#3407)
- New option to define a custom resolver. (#2998)
- New printing support for text and comment nodes in html pretty-format. (#3355)
- New snapshot testing FAQ (#3425)
- New support for custom platforms on jest-haste-map. (#3162)
- New support for mocking native async methods. (#3209)
- New guide on how to use Jest with any JavaScript framework. (#3243)
- New translation system for the Jest website.
- New collapsing watch mode usage prompt after first run. (#3078)
- Breaking Change: Forked Jasmine 2.5 into Jest's own test runner and rewrote large parts of Jasmine. (#3147)
- Breaking Change: Jest does not write new snapshots by default on CI. (#3456)
- Breaking Change: Moved the typescript parser from
jest-editor-supportinto a separatejest-test-typescript-parserpackage. (#2973) - Breaking Change: Replaced auto-loading of babel-polyfill with only regenerator-runtime, fixes a major memory leak. (#2755)
- Fixed
babel-jestto look up thebabelfield inpackage.jsonas a fallback. - Fixed
jest-editor-support's parser to not crash on incomplete ASTs. (#3259) - Fixed
jest-resolveto useis-builtin-moduleinstead ofresolve.isCore. (#2997) - Fixed
jest-snapshotto normalize line endings in theserializefunction. (#3002) - Fixed behavior of
--silentflag. (#3003) - Fixed bug with watchers on macOS causing test to crash. (#2957)
- Fixed CLI
notifyoption not taking precedence over config option. (#3340) - Fixed detection of the npm client in SummaryReporter to support Yarn. (#3263)
- Fixed done.fail not passing arguments (#3241)
- Fixed fake timers to restore after resetting mocks. (#2467)
- Fixed handling of babylon's parser options in
jest-editor-support. (#3344) - Fixed Jest to properly cache transform results. (#3334)
- Fixed Jest to use human-readable colors for Jest's own snapshots. (#3119)
- Fixed jest-config to use UID for default cache folder. (#3380), (#3387)
- Fixed jest-runtime to expose inner error when it fails to write to the cache. (#3373)
- Fixed lifecycle hooks to make afterAll hooks operate the same as afterEach. (#3275)
- Fixed pretty-format to run plugins before serializing nested basic values. (#3017)
- Fixed return value of mocks so they can explicitly be set to return
undefined. (#3354) - Fixed runner to run tests associated with snapshots when the snapshot changes. (#3025)
- Fixed snapshot serializer require, restructured pretty-format. (#3399)
- Fixed support for Babel 7 in babel-jest. (#3271)
- Fixed testMatch to find tests in .folders. (#3006)
- Fixed testNamePattern and testPathPattern to work better together. (#3327)
- Fixed to show reject reason when expecting resolve. (#3134)
- Fixed toHaveProperty() to use hasOwnProperty from Object (#3410)
- Fixed watch mode's screen clearing. (#2959) (#3294)
- Improved and consolidated Jest's configuration file resolution. (#3472)
- Improved documentation throughout the Jest website.
- Improved documentation to explicitly mention that snapshots must be reviewed. (#3203)
- Improved documentation to make it clear CRA users don't need to add dependencies. (#3312)
- Improved eslint-plugin-jest's handling of
expect. (#3306) - Improved flow-coverage, eslint rules and test coverage within the Jest repository.
- Improved printing of
expect.assertionserror. (#3033) - Improved Windows test coverage of Jest.
- Refactored configs & transform (#3376)
- Refactored reporters to pass individual Tests to reporters. (#3289)
- Refactored TestRunner (#3166)
- Refactored watch mode prompts. (#3290)
- Deleted
jest-file-exists. (#3105) - Removed
Configtype. (#3366) - Removed all usage of
jest-file-exists. (#3101) - Adopted prettier on the Jest codebase.
- Fix infinite loop when using
--watchwith--coverage. - Fixed
watchmanconfig option. - Fixed a bug in the jest-editor-support static analysis.
- Fixed eslint plugin warning.
- Fixed missing space in front of "Did you mean β¦?".
- Fixed path printing in the reporter on Windows.
- Breaking Change: Added a version for snapshots.
- Breaking Change: Removed the
mocksPatternconfiguration option, it never worked correctly. - Breaking Change: Renamed
testPathDirstorootsto avoid confusion when configuring Jest. - Breaking Change: Updated printing of React elements to cause fewer changes when props change.
- Breaking Change: Updated snapshot format to properly escape data.
- Fixed --color to be recognized correctly again.
- Fixed
babel-plugin-jest-hoistto work properly with type annotations in tests. - Fixed behavior for console.log calls and fixed a memory leak (#2539).
- Fixed cache directory path for Jest to avoid ENAMETOOLONG errors.
- Fixed change events to be emitted in jest-haste-map's watch mode. This fixes issues with Jest's new watch mode and react-native-packager.
- Fixed cli arguments to be used when loading the config from file, they were previously ignored.
- Fixed Jest to load json files that include a BOM.
- Fixed Jest to throw errors instead of ignoring invalid cli options.
- Fixed mocking behavior for virtual modules.
- Fixed mocking behavior with transitive dependencies.
- Fixed support for asymmetric matchers in
toMatchObject. - Fixed test interruption and
--bailbehavior. - Fixed watch mode to clean up worker processes when a test run gets interrupted.
- Fixed whitespace to be highlighted in snapshots and assertion errors.
- Improved
babel-jestplugin: babel is loaded lazily, istanbul comments are only added when coverage is used. - Improved error for invalid transform config.
- Improved moduleNameMapper to not overwrite mocks when many patterns map to the same file.
- Improved printing of skipped tests in verbose mode.
- Improved resolution code in jest-resolve.
- Improved to only show patch marks in assertion errors when the comparison results in large objects.
- New
--collectCoverageFromcli argument. - New
--coverageDirectorycli argument. - New
expect.addSnapshotSerializerto add custom snapshot serializers for tests. - New
jest.spyOn. - New
testMatchconfiguration option that accepts glob patterns. - New eslint-plugin-jest with no-disabled-tests, no-focuses-tests and no-identical-title rules and default configuration and globals.
- New expect.stringContaining asymmetric matcher.
- New feature to make manual mocks with nested folders work. For example
__mocks__/react-native/Library/Text.jswill now work as expected. - New feature to re-run tests through the notification when using
--notify. - New jest-phabricator package to integrate Jest code coverage in phabriactor.
- New jest-validate package to improve configuration errors, help with suggestions of correct configuration and to be adopted in other libraries.
- New pretty-printing for asymmetric matchers.
- New RSS feed for Jest's blog.
- New way to provide a reducer to extract haste module ids.
- New website, new documentation, new color scheme and new homepage.
- Rewritten watch mode for instant feedback, better code quality and to build new features on top of it (#2362).
- Fixed console.log and fake timer behavior in node 7.3.
- Updated istanbul-api.
- Updated jest-diff equality error message.
- Disabled arrow keys when entering a pattern in watch mode to prevent broken behavior. Will be improved in a future release.
- Moved asymmetric matchers and equality functionality from Jasmine into jest-matchers.
- Removed jasmine and jest-snapshot dependency from jest-matchers.
- Removed unused global
contextvariable. - Show a better error message if the config is invalid JSON.
- Highlight trailing whitespace in assertion diffs and snapshots.
- Jest now uses micromatch instead of minimatch.
- Added
-has alias for--help.
See https://facebook.github.io/jest/blog/2016/12/15/2016-in-jest.html
- The testResultsProcessor function is now required to return the modified results.
- Removed
pitandmockImpl. UseitormockImplementationinstead. - Fixed re-running tests when
--bailis used together with--watch. pretty-formatis now merged into Jest.require('v8')now works properly in a test context.- Jest now clears the entire scrollback in watch mode.
- Added
expect.any,expect.anything,expect.objectContaining,expect.arrayContaining,expect.stringMatching. - Properly resolve
snapshotSerializers,setupFiles,transform,testRunnerandtestResultsProcessorinstead of usingpath.resolve. --testResultsProcessoris now exposed through the cli.- Renamed
--jsonOutputFileto--outputFile. - Added
jest-editor-supportfor vscode and Nuclide integration. - Fixed
test.concurrentunhandled promise rejections. - The Jest website is now auto-deployed when merging into master.
- Updated
testRegexto includetest.jsandspec.jsfiles. - Fixes for
babel-plugin-jest-hoistwhen usingjest.mockwith three arguments. - The
JSONglobal injest-environment-nodenow comes from the vm context instead of the parent context. - Jest does not print stack traces from babel any longer.
- Fake timers are reset when
FakeTimers.useTimers()is called. - Usage of Jest in watch mode can be hidden through
JEST_HIDE_USAGE. - Added
expect.assertions(number)which will ensure that a specified amount of assertions is made in one test. - Added
.toMatchSnapshot(?string)feature to give snapshots a name. - Escape regex in snapshots.
jest-react-nativewas deprecated and now forwardsreact-native.- Added
.toMatchObjectmatcher. - Further improve printing of large objects.
- Fixed
NaN% Failedin the OS notification when using--notify. - The first test run without cached timings will now use separate processes instead of running in band.
- Added
.toHavePropertymatcher. - Fixed
Map/Setcomparisons. test.concurrentnow works with--testNamePattern.
- Improved file-watching feature in jest-haste-map.
- Added
.toHaveLengthmatcher. - Improved
.toContainmatcher.
- Fixed performance regression in module resolution.
- Fixed pretty printing of big objects.
- Fixed resolution of
.native.jsfiles in react-native projects.
- Added
expect.extend. - Properly resolve modules with platform extensions on react-native.
- Added support for custom snapshots serializers.
- Updated to Jasmine 2.5.2.
- Big diffs are now collapsed by default in snapshots and assertions. Added
--expand(or-e) to show the full diff. - Replaced
scriptPreprocessorwith the newtransformoption. - Added
jest.resetAllMockswhich replacesjest.clearAllMocks. - Fixes for react-native preset.
- Fixes for global built in objects in
jest-environment-node. - Create mock objects in the vm context instead of the parent context.
.babelrcis now part of the transform cache key inbabel-jest.- Fixes for docblock parsing with haste modules.
- Exit with the proper code when the coverage threshold is not reached.
- Implemented file watching in
jest-haste-map. --jsonnow includes information about individual tests inside a file.
- Symbols are now properly mocked when using
jest-mock. toHaveBeenCalledWith()works without arguments again.- Newlines in snapshots are now normalized across different operating systems.
- Fix infinite loop.
- Previously failed tests are now always run first.
- A new concurrent reporter shows currently running tests, a test summary, a progress bar and estimated remaining time if possible.
- Improved CLI colors.
jest <pattern>is now case-insensitive.- Added
it.only,it.skip,test.only,test.skipandxtest. - Added
--testNamePattern=patternor-t <pattern>to run individual tests in test files. - Jest now warns for duplicate mock files.
- Pressing
a,o,p,qorenterwhile tests are running in the watch mode, the test run will be interrupted. --bailnow works together with--watch.- Added
test.concurrentfor concurrent async tests. - Jest now automatically considers files and tests with the
.jsxextension. - Added
jest.clearAllMocksto clear all mocks manually. - Rewrote Jest's snapshot implementation.
jest-snapshotcan now be more easily integrated into other test runners and used in other projects. - This requires most snapshots to be updated when upgrading Jest.
- Objects and Arrays in snapshots are now printed with a trailing comma.
- Function names are not printed in snapshots any longer to reduce issues with code coverage instrumentation and different Node versions.
- Snapshots are now sorted using natural sort order.
- Snapshots are not marked as obsolete any longer when using
fitor when an error is thrown in a test. - Finished migration of Jasmine matchers to the new Jest matchers.
- Pretty print
toHaveBeenLastCalledWith,toHaveBeenCalledWith,lastCalledWithandtoBeCalledWithfailure messages. - Added
toBeInstanceOfmatcher. - Added
toContainEqualmatcher. - Added
toThrowErrorMatchingSnapshotmatcher. - Improved
moduleNameMapperresolution. - Module registry fixes.
- Fixed invocation of the
setupTestFrameworkScriptFilescript to make it easier to use chai together with Jest. - Removed react-native special case in Jest's configuration.
- Added
--findRelatedTests <fileA> <fileB>cli option to run tests related to the specified files. - Added
jest.deepUnmocktobabel-plugin-jest-hoist. - Added
jest.runTimersToTimewhich is useful together with fake timers. - Improved automated mocks for ES modules compiled with babel.
- Fixed issues with test paths that include hyphens on Windows.
- Fixed
testEnvironmentresolution. - Updated watch file name pattern input.
- Pretty printer updates for React and global window objects.
jest-runtimeoverwrites automocking from configuration files.- Improvements for watch mode on Windows.
- afterAll/afterEach/beforeAll/beforeEach can now return a Promise and be used together with async/await.
- Improved stack trace printing on Node 4.
- Fixed Jest with npm2 when using coverage.
- Updated toThrow and toThrowMatchers and aliased them to the same matcher.
- Improvements for watch mode.
- Fixed Symbol reassignment in tests would break Jest's matchers.
- Fixed
--bailoption.
- See https://facebook.github.io/jest/blog/2016/09/01/jest-15.html
- Jest by default now also recognizes files ending in
.spec.jsand.test.jsas test files. - Completely replaced most Jasmine matchers with new Jest matchers.
- Rewrote Jest's CLI output for test failures and summaries.
- Added
--envoption to override the default test environment. - Disabled automocking, fake timers and resetting the module registry by default.
- Added
--watchAll, made--watchinteractive and added the ability to update snapshots and select test patterns in watch mode. - Jest uses verbose mode when running a single test file.
- Console messages are now buffered and printed along with the test results.
- Fix
testEnvironmentresolution to preferjest-environment-{name}instead of{name}only. This prevents a module colision when usingjsdomas test environment. moduleNameMappernow uses a resolution algorithm.- Improved performance for small test runs.
- Improved API documentation.
- Jest now works properly with directories that have special characters in them.
- Improvements to Jest's own test infra by merging integration and unit tests. Code coverage is now collected for Jest.
- Added
global.globalto the node environment. - Fixed babel-jest-plugin-hoist issues with functions called
mock. - Improved jest-react-native preset with mocks for ListView, TextInput, ActivityIndicator and ScrollView.
- Added
collectCoverageFromto collect code coverage from untested files. - Rewritten code coverage support.
- Changed Jest's default cache directory.
- Fixed
jest-react-nativefor react 15.3.0. - Updated react and react-native example to use
react-test-renderer. - Started to refactor code coverage.
babel-jestbugfix.
babel-jestcan now be used to compose a transformer.- Updated snapshot instructions to run
jest -uornpm test -- -u. - Fixed
configcli option to enable JSON objects as configuration. - Updated printing of preset path in the CLI.
- Official release of snapshot tests.
- Started to replace Jasmine matchers with Jest matchers:
toBe,toBeFalsy,toBeTruthy,toBeNaN,toBe{Greater,Less}Than{,OrEqual},toBeNull,toBeDefined,toBeUndefined,toContain,toMatch,toBeCloseTowere rewritten. - Rewrite of Jest's reporters.
- Experimental react-native support.
- Removed Jasmine 1 support from Jest.
- Transform caching improvements.
- Snapshot bugfixes.
- Timer bugfixes.
- Added
testglobal function as an alias forit. - Added
coveragePathIgnorePatternsto the config. - Fixed printing of "JSX objects" in snapshots.
- Fixes for
--verboseoption and top levelitcalls. - Extended the node environment with more globals.
- testcheck now needs to be required explicitly through
require('jest-check'). - Added
jest.deepUnmock. - Fail test suite if it does not contain any tests.
- Added duration of individual tests in verbose mode.
- Added a
browserconfig option to properly resolve npm packages with a browser field inpackage.jsonif you are writing tests for client side apps - Added
jest-repl. - Split up
jest-cliintojest-runtimeandjest-config. - Added a notification plugin that shows a test run notification using
--notify. - Refactored
TestRunnerintoSearchSourceand improved the "no tests found" message. - Added
jest.isMockFunction(jest.fn())to test for mock functions. - Improved test reporter printing and added a test failure summary when running many tests.
- Add support for property testing via testcheck-js.
- Added a webpack tutorial.
- Added support for virtual mocks through
jest.mock('Module', implementation, {virtual: true}). - Added snapshot functionality through
toMatchSnapshot(). - Redesigned website.
- Windows stability fixes.
- Mock module resolution fixes.
- Remove test files from code coverage.
- Jest is now also published in the
jestpackage on npm. - Added
testRegexto match for tests outside of specific folders. Deprecated bothtestDirectoryNameandtestFileExtensions. itcan now return a Promise for async testing.pitwas deprecated.- Added
jest-resolveas a standalone package based on the Facebook module resolution algorithm. - Added
jest-changed-filesas a standalone package to detect changed files in a git or hg repo. - Added
--setupTestFrameworkFileto cli. - Added support for coverage thresholds. See http://facebook.github.io/jest/docs/api.html#coveragethreshold-object.
- Updated to jsdom 9.0.
- Updated and improved stack trace reporting.
- Added
module.filenameand removed the invalidmodule.__filenamefield. - Further improved the
lastCalledWithandtoBeCalledWithcustom matchers. They now print the most recent calls. - Fixed jest-haste-map on continuous integration systems.
- Fixes for hg/git integration.
- Added a re-try for the watchman crawler.
- Bug fixes when running a single test file and for scoped package names.
- Added custom equality matchers for Map/Set and iterables.
- Bug fixes
- Reimplemented
node-hasteasjest-haste-map: https://github.com/facebook/jest/pull/896 - Fixes for the upcoming release of nodejs 6.
- Removed global mock caching which caused negative side-effects on test runs.
- Updated Jasmine from 2.3.4 to 2.4.1.
- Fixed our Jasmine fork to work better with
Object.create(null). - Added a
--silentflag to silence console messages during a test run. - Run a test file directly if a path is passed as an argument to Jest.
- Added support for the undocumented nodejs feature
module.paths.
- Fixed
jest -oerror when Mercurial isn't installed on the system - Fixed Jasmine failure message when expected values were mutated after tests.
- Added support for Mercurial repositories when using
jest -o - Added
mockImplementationOnceAPI tojest.fn().
- New implementation of node-haste and rewrite of internal module loading and resolution. Fixed both startup and runtime performance. #599
- Jasmine 2 is now the default test runner. To keep using Jasmine 1, put
testRunner: "jasmine1"into your configuration. - Added
jest-util,jest-mock,jest-jasmine1,jest-jasmine2,jest-environment-node,jest-environment-jsdompackages. - Added
babel-jest-presetandbabel-jestas packages.babel-jestis now being auto-detected. - Added
babel-plugin-jest-hoistwhich hoistsjest.unmock,jest.mockand the newjest.enableAutomockandjest.disableAutomockAPI. - Improved
babel-jestintegration andreact-nativetesting. - Improved code coverage reporting when using
babel-jest. - Added the
jest.mock('moduleName', moduleFactory)feature.jest.mocknow gets hoisted by default.jest.doMockwas added to explicitly mock a module without the hoisting feature ofbabel-jest. - Updated jsdom to 8.3.x.
- Improved responsiveness of the system while using
--watch. - Clear the terminal window when using
--watch. - By default,
--watchwill now only runs tests related to changed files.--watch=allcan be used to run all tests on file system changes. - Debounce
--watchre-runs to not trigger test runs during a branch switch in version control. - Added
jest.fn()andjest.fn(implementation)as convenient shorcuts forjest.genMockFunction()andjest.genMockFunction().mockImplementation(). - Added an
automockoption to turn off automocking globally. - Added a "no tests found" message if no tests can be found.
- Jest sets
process.NODE_ENVtotestunless otherwise specified. - Fixed
moduleNameMapperconfig option when used with paths. - Fixed an error with Jasmine 2 and tests that
throw 'string errors'. - Fixed issues with unmocking symlinked module names.
- Fixed mocking of boolean values.
- Fixed mocking of fields that start with an underscore ("private fields").
- Fixed unmocking behavior with npm3.
- Fixed and improved
--onlyChangedoption. - Fixed support for running Jest as a git submodule.
- Improved verbose logger output
- Fixed test runtime error reporting and stack traces.
- Improved
toBeCalledJasmine 2 custom matcher messages. - Improved error reporting when a syntax error occurs.
- Renamed HasteModuleLoader to Runtime.
- Jest now properly reports pending tests disabled with
xitandxdescribe. - Removed
preprocessCachingDisabledconfig option. - Added a
testEnvironmentoption to customize the sandbox environment. - Added support for
@scoped/namenpm packages. - Added an integration test runner for Jest that runs all tests for examples and packages.
- Performance improvements.
- jest now uses
chalkinstead of its own colors implementation.
--bailnow reports with the proper error code.- Fixed loading of the setup file when using jasmine2.
- Updated jsdom to 7.2.0.
- Added optional support for jasmine2 through the
testRunnerconfig option. - Fixed mocking support for Map, WeakMap and Set.
nodewas added to the defaults inmoduleFileExtensions.- Updated the list of node core modules that are properly being recognized by the module loader.
- Correctly map
process.oninto jsdom environments, fixes a bug introduced in jest 0.7.0.
- Fixed a memory leak with test contexts. Jest now properly cleans up test environments after each test. Added
--logHeapUsageto log memory usage after each test. Note: this is option is meant for debugging memory leaks and might significantly slow down your test run. - Removed
mock-modules,node-hasteandmocksvirtual modules. This is a breaking change of undocumented public API. Usage of this API can safely be automatically updated through an automated codemod: - Example: http://astexplorer.net/#/zrybZ6UvRA
- Codemod: https://github.com/cpojer/js-codemod/blob/master/transforms/jest-update.js
- jscodeshift: https://github.com/facebook/jscodeshift
- Removed
navigator.onLineandmockSetReadOnlyPropertyfrom the global jsdom environment. Usewindow.navigator.onLine = true;in your test setup andObject.definePropertyinstead.
- Updated jsdom to 7.0.2.
- Use the current working directory as root when passing a jest config from the command line.
- Updated the React examples and getting started guide
- Modules now receive a
module.parentfield so unmocked modules don't assume they are run directly any longer.
- jest now reports the number of tests that were run instead of the number of test files.
- Added a
--jsonoption to print test results as JSON. - Changed the preprocessor API. A preprocessor now receives the script, file and config. The cache key function receives the script, file and stringified config to be able to create consistent hashes.
- Removed node-worker-pool in favor of node-worker-farm (#540).
toEqualnow also checks the internal class name of an object. This fixes invalid tests likeexpect([]).toEqual({})which were previously passing.- Added the option to provide map modules to stub modules by providing the
moduleNameMapperconfig option. - Allow to specify a custom
testRunnerin the configuration (#531). - Added a
--no-cacheoption to make it easier to debug preprocessor scripts. - Fix code coverage on windows (#499).
- Cache test run performance and run slowest tests first to maximize worker utilization
- Update to jsdom 6.5.0
- Improve failure stack traces.
- Fix syntax error reporting.
- Add
--watchoption (#472).
- Fixed a bug with syntax errors in test files (#487).
- Fixed chmod error for preprocess-cache (#491).
- Support for the upcoming node 4.0 release (#490, #489).
- Upgraded node-worker-pool to 3.0.0, use the native
Promiseimplementation. testURLcan be used to set the location of the jsdom environment.- Updated all of jest's dependencies, now using jsdom 6.3.
- jest now uses the native
Promiseimplementation. - Fixed a bug when passed an empty
testPathIgnorePatterns. - Moved preprocessor cache into the haste cache directory.
- Added
--noStackTraceoption to disable stack traces. - Jest now only works with iojs v2 and up. If you are still using node we recommend upgrading to iojs or keep using jest 0.4.0.
- Upgraded to jsdom 6.1.0 and removed all the custom jsdom overwrites.
- See commit history for changes in previous versions of jest.