[babel-jest]
Add async transformation (#11192)[jest-changed-files]
Use '--' to separate paths from revisions (#11160)[jest-circus]
[BREAKING] Fail tests when multipledone()
calls are made (#10624)[jest-circus, jest-jasmine2]
[BREAKING] Fail the test instead of just warning when describe returns a value (#10947)[jest-config]
[BREAKING] Default to Node testing environment instead of browser (JSDOM) (#9874)[jest-config]
[BREAKING] Usejest-circus
as default test runner (#10686)[jest-config]
Add support forpreset
written in ESM (#11200)[jest-config, jest-runtime]
Support ESM for files other than.js
and.mjs
(#10823)[jest-config, jest-runtime]
[BREAKING] Use "modern" implementation as default for fake timers (#10874 & #11197)[jest-config
Allow passingforceNodeFilesystemAPI
through tojest-haste-map
(#11264)[jest-core]
makeTestWatcher
extendemittery
(#10324)[jest-core]
Run failed tests interactively the same way we do with snapshots (#10858)[jest-core]
moreTestSequencer
methods can be async (#10980)[jest-core]
Add support fortestSequencer
written in ESM (#11207)[jest-core]
Add support forglobalSetup
andglobalTeardown
written in ESM (#11267)[jest-core]
Add support forwatchPlugins
written in ESM (#11315)[jest-core]
Add support forrunner
written in ESM (#11232)[jest-each]
Add support for interpolation with object properties (#11388)[jest-environment-node]
Add AbortController to globals (#11182)[@jest/fake-timers]
Update to@sinonjs/fake-timers
to v7 (#11198)[jest-haste-map]
Handle injected scm clocks (#10966)[jest-haste-map]
AddenableSymlinks
configuration option to follow symlinks for test files (#9351)[jest-repl, jest-runner]
[BREAKING] Run transforms over environment (#8751)[jest-repl]
Add support fortestEnvironment
written in ESM (#11232)[jest-runner]
[BREAKING] set exit code to 1 if test logs after teardown (#10728)[jest-runner]
[BREAKING] Run transforms overrunnner
(#8823)[jest-runner]
[BREAKING] Run transforms overtestRunnner
(#8823)[jest-runner]
Possibility to use ESM for test environment (11033)[jest-runner]
Add support fortestRunner
written in ESM (#11232)[jest-runtime]
Detect reexports from CJS as named exports in ESM (#10988)[jest-runtime]
Support for async code transformations (#11191 & #11220)[jest-reporters]
Add static filepath property to all reporters (#11015)[jest-snapshot]
[BREAKING] Make prettier optional for inline snapshots - fall back to string replacement (#7792)[jest-snapshot]
[BREAKING] Run transforms oversnapshotResolver
(#8751)[jest-transform]
Pass config options defined in Jest's config to transformer'sprocess
andgetCacheKey
functions (#10926)[jest-transform]
Add support for transformers written in ESM (#11163)[jest-transform]
[BREAKING] Do not exportScriptTransformer
class, instead export the async functioncreateScriptTransformer
(#11163)[jest-transform]
Async code transformations (#9889)[jest-transform]
Support transpiled transformers (#11193)[jest-transform]
[BREAKING]requireAndTranspileModule
always return aPromise
, and the third parameter type is changed toRequireAndTranspileModuleOptions
which acceptapplyInteropRequireDefault
option (#11232)[jest-transform]
[BREAKING]createTranspilingRequire
return function which return aPromise
now (#11232)[jest-util]
add requireOrImportModule for importing CJS or ESM (#11199)[jest-util]
addapplyInteropRequireDefault
option onrequireOrImportModule
(#11232)[jest-watcher]
Added support for clearing the line when<C-u>
is pressed in a watch mode pattern prompt (#11358)[jest-worker]
Add support for custom task queues and adds aPriorityQueue
implementation. (#10921)[jest-worker]
Add in-order scheduling policy to jest worker (10902)[pretty-format]
Better print for sparse arrays (11326)
[babel-plugin-jest-hoist]
Add__dirname
and__filename
to whitelisted globals (#10903)[expect]
[BREAKING] Reviseexpect.not.objectContaining()
to be the inverse ofexpect.objectContaining()
, as documented. (#10708)[expect]
[BREAKING] MaketoContain
more strict with the received type (#10119 & #10929)[expect]
[BREAKING]matcherResult
onJestAssertionError
are now strings rather than functions (#10989)[jest-circus]
Fixed the issue of beforeAll & afterAll hooks getting executed even if it is inside a skippeddescribe
block #10451[jest-circus]
FixtestLocation
on Windows when usingtest.each
(#10871)[jest-cli]
Use testFailureExitCode when bailing from a failed test (#10958)[jest-cli]
Print custom error if error thrown from global hooks is not an error already (#11003)[jest-cli]
Allow running multiple "projects" from programmatic API (#11307)[jest-cli]
Fix missing collectCoverage after init (#11353)[jest-config]
[BREAKING] Change default file extension order by moving json behind ts and tsx (10572)[jest-console]
console.dir
now respects the second argument correctly (#10638)[jest-core]
Don't report PerformanceObserver as open handle (#11123)[jest-core]
UseWeakRef
to hold timers when detecting open handles (#11277)[jest-diff]
[BREAKING] Use only named exports (#11371)[jest-each]
[BREAKING] Ignore excess words in headings (#8766)[jest-each]
Support array index with template strings (#10763)[jest-each]
Interpolate%%
correctly (#11364)[jest-each]
Fix wrong interpolation when the value of array contains multiple%
(#11364)[jest-environment]
[BREAKING] Drop support forrunScript
for test environments (#11155)[jest-environment-jsdom]
Use inner realm’sArrayBuffer
constructor (#10885)[jest-environment-jsdom]
[BREAKING] Remove Node globalssetImmediate
andclearImmediate
#11222[jest-get-type]
[BREAKING] Convert to ES Module (#11359)[jest-globals]
[BREAKING] Disallow return values other than aPromise
from hooks and tests (#10512)[jest-globals]
[BREAKING] Disallow mixing a done callback and returning aPromise
from hooks and tests (#10512)[jest-haste-map]
VendorNodeWatcher
fromsane
(#10919)[jest-jasmine2]
Fixed the issue ofbeforeAll
&afterAll
hooks getting executed even if it is inside a skippeddescribe
block when it has childtests
marked as eitheronly
ortodo
#10451[jest-jasmine2]
Fixed the issues of childtests
marked withonly
ortodo
getting executed even if it is inside a skipped parentdescribe
block #10451[jest-reporter]
Handle empty files when reporting code coverage with V8 (#10819)[jest-resolve]
Replace read-pkg-up with escalade package (#10781)[jest-resolve]
Disablejest-pnp-resolver
for Yarn 2 (#10847)[jest-runtime]
[BREAKING] Do not injectglobal
variable into module wrapper (#10644)[jest-runtime]
[BREAKING] remove long-deprecatedjest.addMatchers
,jest.resetModuleRegistry
, andjest.runTimersToTime
(#9853)[jest-runtime]
Fix stack overflow and promise deadlock when importing mutual dependant ES module (#10892)[jest-runtime]
Prevent global module registry from leaking intoisolateModules
registry (#10963)[jest-runtime]
Refactor to prevent race condition when linking and evaluating ES Modules (#11150)[jest-runtime]
Throw correct error when attempting to load ESM viarequire
(#11260)[jest-transform]
Show enhancedSyntaxError
message for allSyntaxError
s (#10749)[jest-transform]
[BREAKING] Refactor API to pass an options bag around rather than multiple boolean options (#10753)[jest-transform]
[BREAKING] Refactor API of transformers to pass an options bag rather than separateconfig
and other options (#10834)[jest-types]
FixConfig.ts
projects
types (#11285)[jest-util]
Replace micromatch with picomatch to fix issues with negated globs (#11287)[jest-worker]
[BREAKING] Use named exports (#10623)[jest-worker]
Do not swallow errors during serialization (#10984)[jest-worker]
HandleERR_IPC_CHANNEL_CLOSED
errors properly (#11143)[pretty-format]
[BREAKING] Convert to ES Modules (#10515)[pretty-format]
Only callhasAttribute
if it's a function (#11000)[pretty-format]
Handle jsdom attributes properly (#11189)[pretty-format]
Import pretty-format using named imports (#11360)
[*]
[BREAKING] Only support Node LTS releases and Node 15 (#10685)[*]
[BREAKING] Addexports
field to allpackage.json
s (#9921)[*]
Make it easier for Jest's packages to use the VM escape hatch (#10824)[*]
[BREAKING] Remove deprecatedmapCoverage
(#9968)[babel-jest]
[BREAKING] Migrate to ESM (#11193)[docs]
Correct example usingbrowser-resolve
(#11140)[docs]
Clarifytimers
configuration property (#11376)[jest-config]
[BREAKING] RemoveenabledTestsMap
config, usefilter
instead (#10787)[jest-console]
[BREAKING] Moveroot
intoconfig
and takeGlobalConfig
as mandatory parameter forgetConsoleOutput
(#10126)[jest-console]
Export LogEntry (#11017)[jest-fake-timers]
Clarify global behavior ofjest.useFakeTimers
andjest.useRealTimers
(#10867)[jest-haste-map]
[BREAKING] Migrate to ESM (#10875)[jest-haste-map]
[BREAKING] Remove support for deprecated optionignorePattern
as function (#10348)[jest-jasmine2]
[BREAKING] Migrate to ESM (#10906)[jest-jasmine2]
[BREAKING] Remove unused options argument fromEnv
constructor (#10240)[jest-repl, jest-runtime]
[BREAKING] Move thejest-runtime
CLI intojest-repl
(#10016 & #10925)[jest-resolve]
[BREAKING] Migrate to ESM (#10688)[jest-resolve-dependencies]
[BREAKING] Migrate to ESM (#10876)[jest-mock]
[BREAKING] Migrate to ESM (#10887)[jest-reporters]
[BREAKING] Makenode-notifier
a peer dependency (#10977)[jest-resolve, jest-runtime]
[BREAKING] UseMap
s instead of objects for all cached resources (#10968)[jest-runner]
[BREAKING] Migrate to ESM (#10900)[jest-runtime]
[BREAKING] Remove deprecated and unusedgetSourceMapInfo
from Runtime (#9969)[jest-transformer]
[BREAKING] Remove unusedisCoreModule
option (#11166)[jest-util]
No longer checkingenumerable
when addingprocess.domain
(#10862)[jest-validate]
[BREAKING] RemoverecursiveBlacklist
option in favor of previously introducedrecursiveDenylist
(#10650)[website]
Replace 'Github' with 'GitHub' (#11279)[website]
Remove a language code from the link to the Node.js website (#11282)[website]
Remove a duplicated word (#11281)[website]
Add french to website (#11361)
[jest-resolve]
Cache reading and parsing ofpackage.json
s (#11076)[jest-runtime, jest-transform]
sharecacheFS
between runtime and transformer (#10901)[jest-runtime]
Loadchalk
only once per worker (#10864)[jest-worker]
Fix memory leak of previous task arguments while no new task is scheduled (#11187)
[jest-resolve-dependencies]
Continue dependency resolution if mock dependency can't be found (#10779)
[jest-core]
AddfindRelatedTests
andnonFlagArgs
in allowed config options forupdateConfigAndRun
in watch plugins (#10659)
[babel-plugin-jest-hoist]
Preserve order of hoisted mock nodes within containing block (#10536)[babel-plugin-jest-hoist]
Hoist pure constants to support experimental JSX transform in hoisted mocks (#10723)[babel-preset-jest]
Updatebabel-preset-current-node-syntax
to support top level await (#10747)[expect]
Revert "FixobjectContaining
to work recursively into sub-objects (#10508)" (#10766)[jest-circus, jest-jasmine2]
fix: don't assumestack
is always a string (#10697)[jest-config]
Fix bug introduced in watch mode by PR #10678 (#10692)[jest-config]
Throw correct error for missing preset modules (#10737)[jest-resolve-dependencies]
Resolve mocks as dependencies (#10713)[jest-runtime]
Handle file URLs in dynamic imports (#10744)[jest-runtime, babel-jest]
Pass more ESM options to@jest/transform
(#10752)[jest-runtime]
Properly injectextraGlobals
into the runtime (#10758)[jest-transform]
Link to ESM docs on syntax errors (#10748)
[docs]
Add docs for using mocks in TypeScript (#10415)[eslint-config-fb-strict]
Move package from this repo tofbjs
repo (#10739)[examples]
Update TypeScript example to show use of newer Jest types (#10399)[jest-cli]
chore: standardize files and folder names (#10698)[jest-config]
Switch ts-nodeRegister
type toService
due to deprecation (#11210)
[jest-runtime]
Support named exports from CommonJS as named ES Module imports (#10673)[jest-validate]
Add support forrecursiveDenylist
option as an alternative torecursiveBlacklist
(#10236)
[expect]
FixobjectContaining
to work recursively into sub-objects (#10508)[jest-cli, jest-core, jest-config, jest-types]
Fix--onlyFailures
flag to work in non-watch mode (#10678)[jest-config]
Fix for thejest.config.ts
compiler to not interfere withtsconfig.json
files (#10675)[jest-message-util]
Update to work properly with Node 15 (#10660)[jest-mock]
Allow to mock methods in getters (TypeScript 3.9 export) (#10156)
[jest-cli, jest-config]
Add support for thejest.config.ts
configuration file (#10564)
[jest-config]
Simplify transform RegExp (#10207)[jest-fake-timers]
Lazily instantiate mock timers (#10551)[jest-runtime]
require.main
is no longerundefined
when usingjest.resetModules
(#10626)[@jest/types]
Add missing values fortimers
(#10632)
[docs]
Add step for fetchingbackers.json
file in website setup docs (#10631)[docs]
Add page detailing environment variables set by Jest (#10630)[jest-circus]
RefactorcallAsyncCircusFn
parameters (#10629)
[jest-runtime]
add support for dynamicimport()
from CommonJS (#10620)
[jest-runner, jest-runtime]
require.main
should not beundefined
withcreateRequire()
(#10610)[jest-runtime]
add missingmodule.path
property (#10615)[jest-runtime]
AddmainModule
instance variable to runtime (#10621)[jest-runtime]
Evaluate Node core modules on dynamicimport()
(#10622)[jest-validate]
Show suggestion only when unrecognized cli param is longer than 1 character (#10604)[jest-validate]
ValidatetestURL
as CLI option (#10595)
[*]
Revert usage of Escalade and rollback Yargs to v15 as it breaks Node 13 (#10599)[jest-circus]
Setup globals before emittingsetup
, and include Jest globals in thesetup
payload (#10598)[jest-mock]
Fix typings formockResolvedValue
,mockResolvedValueOnce
,mockRejectedValue
andmockRejectedValueOnce
(#10600)
[jest-circus]
Handle olderjest-runtime
injest-circus
[jest-circus, jest-config, jest-runtime]
Add newinjectGlobals
config and CLI option to disable injecting global variables into the runtime (#10484)[jest-each]
Fixes.each
type to always be callable (#10447)[jest-runner]
Add support formoduleLoader
s withdefault
exports (#10541)[@jest/create-cache-key-function]
Added a new package for creating cache keys (#10587)
[jest-circus, jest-jasmine2]
Find correct location fortest.each
tests (#10413)[jest-console]
AddConsole
constructor toconsole
object (#10502)[jest-globals]
Fix lifecycle hook function types (#10480)[jest-runtime]
Remove usage ofvm.compileFunction
due to a performance issue (#10586)
[jest-resolve]
Replace read-pkg-up with escalade package (10558)[jest-environment-jsdom]
Update jsdom to 16.4.0 (10578)
[expect]
FixtoMatchObject
to work with inherited class getters (#10381)[pretty-format]
Lower minimum node version to >= 10 (#10435)
[jest-core]
Don't report ELDHistogram as open handle (#10417)[jest-matcher-utils]
Fix diffing object contain readonly symbol key object (#10414)[jest-reporters]
Fixes notify reporter on Linux (using notify-send) (#10393)[jest-snapshot]
Correctly handles arrays and property matchers in snapshots (#10404)
[jest-resolve]
Add support forpackageFilter
on custom resolver (#10393)
[pretty-format]
HandletagName
not being a string (#10397)
[jest-circus, jest-jasmine2]
IncludefailureDetails
property in test results (#9496)[jest-each, jest-jasmine, jest-circus]
Add support for.concurrent.each
(#9326)
[jest-config]
Add.pnp.js
totransformIgnorePatterns
defaults (#10383)[jest-leak-detector]
Wait properly for GC runs due to changes in Node 14.7 (#10366)[jest-worker]
Downgrade minimum node version to 10.13 (#10352)[docs]
Update snapshot testing documentation(#10359)
[jest-cli]
Use correct file name to override existing jest config on init (#10337)[jest-haste-map]
Properly detect support for nativefind
(#10346)
[jest-worker]
Make sure to work with Node TS typings v12 (#10336)
[jest-core, jest-circus, jest-reporter, jest-runner]
Added support for reporting individual test cases using jest-circus (#10227)[jest-config, jest-reporter, jest-runner, jest-test-sequencer]
AddslowTestThreshold
configuration option (#9366)[jest-haste-map]
Watchman crawler now includes dotfiles (#10075)[jest-worker]
Added support for workers to send custom messages to parent in jest-worker (#10293)[jest-worker]
Support passingresourceLimits
(#10335)[pretty-format]
Added support for serializing custom elements (web components) (#10217)
[expect]
Match symbols and bigints inany()
(#10223)[jest-changed-files]
Usegit diff
instead ofgit log
for--changedSince
(#10155)[jest-console]
Add missingconsole.timeLog
for compatibility with Node (#10209)[jest-haste-map]
Checkfind
binary supports the-iname
parameter (#10308)[jest-snapshot]
Strip added indentation for inline error snapshots (#10217)
[*]
Add missing dependency on@types/node
(#10248)[jest-jasmine2]
ConvertPCancelable
to TypeScript (#10215)[jest-jasmine2]
Refine typings ofqueueRunner
(#10215)[jest-jasmine2]
Remove usage ofFunction
type (#10216)[jest-resolve]
Improve types (#10239)[docs]
Clarify thejest.requireActual(moduleName)
example[jest-types]
Refine typings ofcoverageReporters
(#10275)
[jest-mock]
ExportMock
,MockInstance
,SpyInstance
types (#10138)[jest-config]
Support config files exporting (async
)function
s (#10001)[jest-cli, jest-core]
Add--selectProjects
CLI argument to filter test suites by project name (#8612)[jest-cli, jest-init]
AddcoverageProvider
tojest --init
prompts (#10044)
[jest-console]
getConsoleOutput
to receive global stack trace config and use it to format stack trace (#10081)[jest-jasmine2]
Stop adding:
after an error that has no message (#9990)[jest-diff]
Control no diff message color withcommonColor
in diff options (#9997)[jest-snapshot]
Fix TypeScript compilation (#10008)
[docs]
Correct confusing filename inenableAutomock
example (#10055)[jest-core]
🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉🎉 (#10000)[jest-core, jest-reporters, jest-test-result, jest-types]
CleanupdisplayName
type (#10049)[jest-runtime]
Jest-internal sandbox escape hatch (#9907)[jest-fake-timers]
Updatenow
param type to supportDate
in addition tonumber
. (#10169)[docs]
Add param tosetSystemTime
docs and remove preceding period from it andgetRealSystemTime
(#10169)[jest-snapshot, jest-util]
Replacemake-dir
withfs.mkdir
(#10136)[docs]
Added parcel-bundler documentation inside readme.md file
[jest-core, jest-transform, jest-haste-map]
Improve Jest startup time and test runtime, particularly when running with coverage, by caching micromatch and avoiding recreating RegExp instances (#10131)
[jest-circus]
Backward compatibility for deprecatedDescribeBlock.tests
to not break e.g. Detox reporter
[jest-environment-jsdom]
[BREAKING] Upgradejsdom
to v16 (#9606)[@jest/fake-timers]
Add possibility to use a modern implementation of fake timers, backed by@sinonjs/fake-timers
(#7776)[jest-runtime]
AddcreateMockFromModule
as an alias forgenMockFromModule
(#9962)
[babel-jest]
Handlenull
being passed tocreateTransformer
(#9955)[jest-circus, jest-console, jest-jasmine2, jest-reporters, jest-util, pretty-format]
Fix time durating formatting and consolidate time formatting code (#9765)[jest-circus]
[BREAKING] Fail tests if a test takes a done callback and have return values (#9129)[jest-circus]
[BREAKING] Throw a proper error if a test / hook is defined asynchronously (#8096)[jest-circus]
Throw more descriptive error if hook is defined inside test (#9957)[jest-circus]
[BREAKING] Align execution order of tests to matchjasmine
's top to bottom order (#9965)[jest-config, jest-resolve]
[BREAKING] Remove support forbrowser
field (#9943)[jest-haste-map]
Stop reporting files as changed when they are only accessed (#7347)[jest-resolve]
Show relative path from root dir formodule not found
errors (#9963)[jest-runtime]
Fix absolute path moduleNameMapper + jest.mock bug (#8727)
[*]
[BREAKING] TypeScript definitions requires a minimum of TypeScript v3.8 (#9823)[*]
[BREAKING] Drop support for Node 8 (#9423)[*]
Upgrade to chalk@4 (#9752)[*]
Remove usage ofrealpath-native
(#9952)[docs]
Fix example reference implementation to use Jest with Phabricator (#8662)[docs]
Added default compiler to tranform (#8583)[docs]
Updated Testing Frameworks guide with React; make it generic (#9106)[expect, jest-mock, pretty-format]
[BREAKING] Removebuild-es5
from package (#9945)[@jest/fake-timers, @jest/environment]
[BREAKING] RenameLolexFakeTimers
toModernFakeTimers
(#9960)[jest-haste-map]
[BREAKING] removedprovidesModuleNodeModules
(#8535)[jest-runtime]
[BREAKING] Remove long-deprecatedrequire.requireActual
andrequire.requireMock
methods (#9854)
[jest-jasmine2]
Don't runbeforeAll
/afterAll
in skipped describe blocks (#9931)
[jest-runtime]
Do not warn when mutatingrequire.cache
(#9946)
[jest-circus]
Fix memory leak when running in band (#9934)
[jest-globals]
Export globals as values, not types (#9925)
[jest-haste-map]
Add missing@types/graceful-fs
dependency (#9913)[jest-runner]
Correctly serializeSet
passed to worker (#9915)[jest-runtime]
Vary ESM cache by query (#9914)
[@jest/globals]
New package so Jest's globals can be explicitly imported (#9801)[jest-core]
Show coverage of sources related to tests in changed files (#9769)[jest-runtime]
Populaterequire.cache
(#9841)
[*]
Usegraceful-fs
directly in every package instead of relying onfs
being monkey patched (#9443)[expect]
Prints the Symbol name into the error message with a custom asymmetric matcher (#9888)[jest-circus, jest-jasmine2]
Support older version ofjest-runtime
(#9903 & #9842)[@jest/environment]
Make sure not to reference Jest types (#9875)[jest-message-util]
Code frame printing should respect--noStackTrace
flag (#9866)[jest-runtime]
Support importing CJS from ESM usingimport
statements (#9850)[jest-runtime]
Support importing parallel dynamicimport
s (#9858)[jest-transform]
Improve source map handling when instrumenting transformed code (#9811)
[docs]
Add an example for mocking non-default export class
[jest-resolve]
Updateresolve
to a version using nativerealpath
, which is faster than the default JS implementation (#9872)[jest-resolve]
Pass custom cachedrealpath
function toresolve
(#9873)[jest-runtime]
Addteardown
method to clear any caches when tests complete (#9906)[jest-runtime]
Do not pass files required internally through transformation when loading them (#9900)[jest-runtime]
UseMap
s instead of object literals as cache holders (#9901)
[expect]
Supportasync function
s intoThrow
(#9817)[jest-console]
Add code frame toconsole.error
andconsole.warn
(#9741)[jest-runtime, jest-jasmine2, jest-circus]
Experimental, limited ECMAScript Modules support (#9772 & #9842)
[expect]
Restore support for passing functions totoHaveLength
matcher (#9796)[jest-changed-files]
--only-changed
should include staged files (#9799)[jest-circus]
Throw on nested test definitions (#9828)[jest-each]
each
will throw an error when called with too many arguments (#9818)[jest-runner]
Don't print warning to stdout when using--json
(#9843)
[*]
Do not generate TypeScript declaration source maps (#9822)[*]
Transpile code for Node 8.3, not 8.0 (#9827)
[babel-jest]
Support passingsupportsDynamicImport
andsupportsStaticESM
(#9766)[babel-preset-jest]
Enable all syntax plugins not enabled by default that works on current version of Node (#9774)[jest-circus]
Enable writing async test event handlers (#9397)[jest-runtime, @jest/transformer]
Support passingsupportsDynamicImport
andsupportsStaticESM
(#9597)
[*]
Replaceany
s withunknown
s (#9626)[@jest/transform]
Expose typeCacheKeyOptions
forgetCacheKey
(#9762)[@jest/types]
Correct typetestRegex
forProjectConfig
(#9780)
[jest-matcher-utils]
Replace accessors with values to avoid calling setters in object descriptors when computing diffs for error reporting (#9757)[@jest/watcher]
Correct return type ofshouldRunTestSuite
forJestHookEmitter
(#9753)
[*]
25.2.5 was published without changes from 25.2.4 - 25.2.6 includes all changes from that version.
[@jest/console]
Fixtypescript<@3.8
compatibility in published types
[docs]
Update link to watchman troubleshooting docs (#9727)[@jest/message-util]
Remove dependency on@jest/test-result
, which lead to a sprawling dependency tree (#9749)[@jest/test-result]
Remove dependency on@jest/transform
, which lead to a sprawling dependency tree (#9747)[@jest/transform]
Expose typeTransformedSource
(#9736)
[jest-message-util]
Check for common errors when using the wrong test environment (#8245)
[jest-circus]
Fix type elision of jest-runtime imports (#9717)[@jest/transform]
Fix coverage reporter for uncovered files without transformers, reverting #9460 (#9724)
[*]
Verify all packages are properly downleveled for older versions of TypeScript (#9715)
[jest-environment-node]
RemovegetVmContext
from Node env on older versions of Node (#9708)[jest-runtime]
Return constructable class fromrequire('module')
(#9711)
[*]
Downlevel TypeScript definitions files for compatibility with TS<3.8 (#9705)
[jest-config]
Support ESM config files with.js
extension (#9573).[jest-runtime]
Overridemodule.createRequire
to return a Jest-compatiblerequire
function (#9469)[jest-haste-map]
[BREAKING] Removemapper
option (#9581)[*]
Support array of paths formoduleNameMapper
aliases (#9465)[jest-reporters]
Adds ability to pass options to the istanbul-reporter throughcoverageReporters
(#9572)[jest-runtime]
Require stack when a module cannot be resolved (#9681)[jest-transform]
writeCacheFile
no longer callsfsync
(#9695)
[expect]
Handle readonly properties correctly (#9575)[jest-cli]
SetcoverageProvider
correctly when provided in config (#9562)[jest-cli]
Allow specifying.cjs
and.mjs
config files by--config
CLI option (#9578)[jest-cli]
Update yargs to fix CLI flag overriding (#9519)[jest-config]
TreatsetupFilesAfterEnv
likesetupFiles
when normalizing configs against presets (#9495)[jest-config]
Support.mjs
config files on Windows as well (#9558)[jest-config]
VerifyrootDir
and allroots
are directories (#9569)[jest-config]
Ensure pattern ofreplacePosixSep
is a string (#9546)[jest-haste-map]
Fix crash on unix based systems without find (#9579)[jest-jasmine2]
Fix--testNamePattern
matching withconcurrent
tests (#9090)[jest-matcher-utils]
Fix diff highlight of symbol-keyed object. (#9499)[@jest/reporters]
Notifications should be fire&forget rather than having a timeout (#9567)[jest-resolve]
Fix module identity preservation with symlinks and browser field resolution (#9511)[jest-resolve]
Do not confuse directories with files (#8912)[jest-resolve]
moduleNameMapper
should take precedence over Node core modules (#9563)[jest-runtime]
ResetisolateModules
if it fails (#9541)[jest-runtime]
Yarn PnP errors displayed to the user (#9681)[jest-snapshot]
Downgrade semver to v6 to support node 8 (#9451)[jest-snapshot]
Properly indent new snapshots in the presences of existing ones (#9523)[jest-transform]
Correct sourcemap behavior for transformed and instrumented code (#9460)[jest-transform]
Allow instrumentation of transformed files with weird file extensions (#9589)[@jest/types]
MakeConfigGlobals
an interface to allow for declaration merging. (#9570)[pretty-format]
ExportOldPlugin
type (#9491)
[docs]
Warn about unexpected behavior / bug of node-notifier when using thenotify
options.[docs]
Grammatical corrections to Async docs page. (#9679)[jest-resolver]
Useresolve
package to implement custom module resolution (#9520)[jest-runtime]
Move execution ofsetupFiles
tojest-runner
(#9596)[jest-runtime]
Update anchor link inhelpers
(#9616)[@jest/reporters]
Remove unused dependencies and type exports (#9462)[website]
Update pictures of reports when matchers fail (#9214)
[jest-haste-map]
Reduce number oflstat
calls in node crawler (#9514)
[babel-plugin-jest-hoist]
Show codeframe on static hoisting issues (#8865)[babel-plugin-jest-hoist]
AddBigInt
toALLOWED_IDENTIFIERS
(#8382)[babel-preset-jest]
Add@babel/plugin-syntax-bigint
(#8382)[expect]
AddBigInt
support totoBeGreaterThan
,toBeGreaterThanOrEqual
,toBeLessThan
andtoBeLessThanOrEqual
(#8382)[expect, jest-matcher-utils]
Display change counts in annotation lines (#9035)[expect, jest-snapshot]
Support custom inline snapshot matchers (#9278)[jest-config]
Throw the full error message and stack when a Jest preset is missing a dependency (#8924)[jest-config]
[BREAKING] Set default display name color based on runner (#8689)[jest-config]
Merge preset globals with project globals (#9027)[jest-config]
Support.cjs
config files (#9291)[jest-config]
[BREAKING] Support.mjs
config files (#9431)[jest-core]
Support reporters as default exports (#9161)[jest-core]
Support--findRelatedTests
paths case insensitivity on Windows (#8900)[jest-diff]
Add options for colors and symbols (#8841)[jest-diff]
[BREAKING] Export as ECMAScript module (#8873)[jest-diff]
AddincludeChangeCounts
and renameIndicator
options (#8881)[jest-diff]
AddchangeColor
andpatchColor
options (#8911)[jest-diff]
AddtrailingSpaceFormatter
option and replace cyan withcommonColor
(#8927)[jest-diff]
AddfirstOrLastEmptyLineReplacement
option and export 3diffLines
functions (#8955)[jest-environment]
Add optionalgetVmContext
next torunScript
(#9252 & #9428)[jest-environment-jsdom]
AddfakeTimersLolex
(#8925)[jest-environment-node]
AddfakeTimersLolex
(#8925)[jest-environment-node]
AddqueueMicrotask
(#9140)[jest-environment-node]
ImplementgetVmContext
(#9252 & #9428)[@jest/fake-timers]
Add Lolex as implementation of fake timers (#8897)[jest-get-type]
AddBigInt
support. (#8382)[jest-matcher-utils]
AddBigInt
support toensureNumbers
ensureActualIsNumber
,ensureExpectedIsNumber
(#8382)[jest-matcher-utils]
Ignore highlighting matched asymmetricMatcher in diffs (#9257)[jest-reporters]
Export utils for path formatting (#9162)[jest-reporters]
Provides global coverage thresholds as watermarks for istanbul (#9416)[jest-runner]
Warn if a worker had to be force exited (#8206)[jest-runtime]
[BREAKING] Do not exportScriptTransformer
- it can be imported from@jest/transform
instead (#9256)[jest-runtime]
UseJestEnvironment.getVmContext
andvm.compileFunction
if available to avoid the module wrapper (#9252 & #9428)[jest-snapshot]
Display change counts in annotation lines (#8982)[jest-snapshot]
[BREAKING] Improve report when the matcher has properties (#9104)[jest-snapshot]
Improve colors when snapshots are updatable (#9132)[jest-snapshot]
Ignore indentation for most serialized objects (#9203)[jest-transform]
CreatecreateTranspilingRequire
function for easy transpiling modules (#9194)[jest-transform]
[BREAKING] Return transformed code as a string, do not wrap invm.Script
(#9253)[@jest/test-result]
Create method to create emptyTestResult
(#8867)[jest-worker]
[BREAKING] Return a promise fromend()
, resolving with the information whether workers exited gracefully (#8206)[jest-reporters]
Transform file paths into hyperlinks (#8980)
[expect]
DisplayexpectedDiff
more carefully intoBeCloseTo
(#8389)[expect]
Avoid incorrect difference for subset whentoMatchObject
fails (#9005)[expect]
Consider all RegExp flags for equality (#9167)[expect]
[BREAKING] Consider primitives different from wrappers instantiated withnew
(#9167)[expect]
Prevent maintaining RegExp state between multiple tests (#9289)[expect]
Fix subsetEquality false circular reference detection (#9322)[jest-config]
Use half of the available cores whenwatchAll
mode is enabled (#9117)[jest-config]
Fix Jest multi project runner still cannot handle exactly one project (#8894)[jest-console]
Add missingconsole.group
calls toNullConsole
(#9024)[jest-core]
Don't include unref'd timers in --detectOpenHandles results (#8941)[jest-core]
Limit number of workers when creating haste maps in projects (#9259)[jest-diff]
Do not inverse format if line consists of one change (#8903)[jest-diff]
Rename some new options and change their default values (#9077)[jest-environment-node]
FixTextEncoder.encode
not referencing same globalUint8Array
constructor (#9261)[jest-fake-timers]
getTimerCount
will not include cancelled immediates (#8764)[jest-fake-timers]
Supportutil.promisify
onsetTimeout
(#9180)[jest-jasmine2, jest-circus]
Improve error message format for Node's assert.fail (#9262)[jest-leak-detector]
[BREAKING] Useweak-napi
instead ofweak
package (#8686)[jest-mock]
Fix for mockReturnValue overriding mockImplementationOnce (#8398)[jest-reporters]
Make node-notifier an optional dependency (#8918)[jest-reporters]
Make all arguments to methods onBaseReporter
optional (#9159)[jest-resolve]
: Set MODULE_NOT_FOUND as error code when module is not resolved from paths (#8487)[jest-resolve-dependencies]
Handle dynamic dependencies correctly even when using module maps (#9303)[jest-snapshot]
Remove only the added newlines in multiline snapshots (#8859)[jest-snapshot]
Distinguish empty string from external snapshot not written (#8880)[jest-snapshot]
[BREAKING] Distinguish empty string from internal snapshot not written (#8898)[jest-snapshot]
[BREAKING] Removereport
method and throw matcher errors (#9049)[jest-snapshot]
Omit irrelevantreceived
properties when property matchers fail (#9198)[jest-transform]
Properly cache transformed files across tests (#8890)[jest-transform]
Don't fail the test suite when a generated source map is invalid (#9058)[jest-types]
[BREAKING] Use lessnull | undefined
in config types (#9200)[jest-util]
Allow querying process.domain (#9136)[pretty-format]
Correctly detect memoized elements (#9196)[pretty-format]
Fix pretty-format to respect displayName on forwardRef (#9422)
[*]
[BREAKING] Drop support for Node 6 (#8455)[*]
Add Node 12 to CI (#8411)[*]
[BREAKING] Upgrade to Micromatch v4 (#8852)[babel-plugin-jest-hoist]
[BREAKING] Use ESM exports (#8874)[docs]
Add alias and optional boolean value tocoverage
CLI Reference (#8996)[docs]
Fix broken link pointing to legacy JS file in "Snapshot Testing".[docs]
AddsetupFilesAfterEnv
andjest.setTimeout
example (#8971)[expect]
Test thattoStrictEqual
is equivalent to Node'sassert.deepStrictEqual
(#9167)[jest]
[BREAKING] Use ESM exports (#8874)[jest-cli]
[BREAKING] Use ESM exports (#8874)[jest-cli]
[BREAKING] Remove re-exports from@jest/core
(#8874)[jest-diff]
Remove the need to exportsplitLines0
function (#9151)[jest-environment-jsdom]
[BREAKING] Upgrade JSDOM from v11 to v15 (#8851)[jest-haste-map]
Upgrade tofsevents@2
(#9215)[jest-reporters]
[BREAKING] Upgrade Istanbul dependencies, which are used for code coverage (#9192)[jest-util]
[BREAKING] Remove deprecated exports (#8863)[jest-validate]
[BREAKING] Use ESM exports (#8874)[jest-types]
MarkInitialOptions
asPartial
(#8848)[jest-config]
Refactornormalize
to be more type safe (#8848)
[expect]
Highlight substring differences when matcher fails, part 1 (#8448)[expect]
Highlight substring differences when matcher fails, part 2 (#8528)[expect]
Improve report when mock-spy matcher fails, part 1 (#8640)[expect]
Improve report when mock-spy matcher fails, part 2 (#8649)[expect]
Improve report when mock-spy matcher fails, part 3 (#8697)[expect]
Improve report when mock-spy matcher fails, part 4 (#8710)[expect]
Throw matcher error when received cannot be jasmine spy (#8747)[expect]
Improve report when negative CalledWith assertion fails (#8755)[expect]
Improve report when positive CalledWith assertion fails (#8771)[expect]
Display equal values for ReturnedWith similar to CalledWith (#8791)[expect, jest-snapshot]
Change color from green for some args in matcher hints (#8812)[jest-snapshot]
Highlight substring differences when matcher fails, part 3 (#8569)[jest-core]
Improve report when snapshots are obsolete (#8448)[jest-cli]
Improve chai support (with detailed output, to match jest exceptions) (#8454)[*]
Manage the global timeout with--testTimeout
command line argument. (#8456)[pretty-format]
Render custom displayName of memoized components (#8546)[jest-validate]
AllowmaxWorkers
as part of thejest.config.js
(#8565)[jest-runtime]
Allow passing configuration objects to transformers (#7288)[@jest/core, @jest/test-sequencer]
Support async sort in customtestSequencer
(#8642)[jest-runtime, @jest/fake-timers]
Addjest.advanceTimersToNextTimer
(#8713)[@jest-transform]
Extract transforming require logic withinjest-core
into@jest-transform
(#8756)[jest-matcher-utils]
Add color options tomatcherHint
(#8795)[jest-circus/jest-jasmine2]
Give clearer output for Node assert errors (#8792)[jest-runner]
Export all types in the type signature ofjest-runner
(#8825)
[jest-cli]
Detect side-effect only imports when running--onlyChanged
or--changedSince
(#8670)[jest-cli]
Allow--maxWorkers
to work with % input again (#8565)[babel-plugin-jest-hoist]
Expand list of whitelisted globals in global mocks (#8429)[jest-core]
Make watch plugin initialization errors look nice (#8422)[jest-snapshot]
Prevent inline snapshots from drifting when inline snapshots are updated (#8492)[jest-haste-map]
Don't throw on missing mapper in Node crawler (#8558)[jest-core]
Fix incorrectpassWithNoTests
warning (#8595)[jest-snapshots]
Fix test retries that contain snapshots (#8629)[jest-mock]
Fix incorrect assignments when restoring mocks in instances where they originally didn't exist (#8631)[expect]
Fix stack overflow when matching objects with circular references (#8687)[jest-haste-map]
Workaround a node >=12.5.0 bug that causes the process not to exit after tests have completed and cancerous memory growth (#8787)
[docs]
Replace FlowType with TypeScript in CONTRIBUTING.MD code conventions[jest-leak-detector]
remove code repeat (#8438)[docs]
Add example tojest.requireActual
(#8482)[docs]
Add example tojest.mock
for mocking ES6 modules with thefactory
parameter (#8550)[docs]
Add information about usingjest.doMock
with ES6 imports (#8573)[docs]
Fix variable name in custom-matcher-api code example (#8582)[docs]
Fix example used in custom environment docs (#8617)[docs]
Updated react tutorial to refer to new package of react-testing-library (@testing-library/react) (#8753)[docs]
Updated imports of react-testing-library to @testing-library/react in website (#8757)[jest-core]
AddgetVersion
(moved fromjest-cli
) (#8706)[docs]
Fix MockFunctions example that was using toContain instead of toContainEqual (#8765)[*]
Make sure copyright header comment includes license (#8783)[*]
Check copyright and license as one joined substring (#8815)[docs]
Fix WatchPluginsjestHooks.shouldRunTestSuite
example that receives an object (#8784)[*]
Enforce LF line endings (#8809)[pretty-format]
Delete obsolete link and simplify structure in README (#8824)[docs]
Fix broken transform link on webpack page (#9155)
[jest-watcher]
Minor optimization for JestHook (#8746)[@jest/reporters]
Prevent runaway CPU useage with--notify
on macOS (#8830)
[jest-circus]
Bind to Circus events via an optional event handler on any custom env (#8344)[expect]
Improve report when matcher fails, part 15 (#8281)[jest-cli]
Update--forceExit
and "did not exit for one second" message colors (#8329)[expect]
Improve report when matcher fails, part 16 (#8306)[jest-runner]
Pass docblock pragmas to TestEnvironment constructor (#8320)[docs]
Add DynamoDB guide (#8319)[expect]
Improve report when matcher fails, part 17 (#8349)[expect]
Improve report when matcher fails, part 18 (#8356)[expect]
Improve report when matcher fails, part 19 (#8367)
[jest-each]
Fix bug with placeholder values (#8289)[jest-snapshot]
Inline snapshots: do not indent empty lines (#8277)[@jest/runtime, @jest/transform]
Allow custom transforms for JSON dependencies (#8278)[jest-core]
MakedetectOpenHandles
implyrunInBand
(#8283)[jest-haste-map]
Fix themapper
option which was incorrectly ignored (#8299)[jest-jasmine2]
Fix describe return value warning being shown if the describe function throws (#8335)[jest-environment-jsdom]
Re-declare global prototype of JSDOMEnvironment (#8352)[jest-snapshot]
Handle arrays when merging snapshots (#7089)[expect]
Extract names of async and generator functions (#8362)[jest-runtime]
Fix virtual mocks not being unmockable after previously being mocked (#8396)[jest-transform]
Replace special characters in transform cache filenames to support Windows (#8353)[jest-config]
Allow exactly one project (#7498)
[expect]
Fix label and add opposite assertion for toEqual tests (#8288)[docs]
Mention Jest MongoDB Preset (#8318)[@jest/reporters]
Migrate away fromistanbul-api
(#8294)[*]
Delete obsolete emails tag from header comment in test files (#8377)[expect]
optimize compare nodes (#8368)[docs]
Fix typo in MockFunctionAPI.md (#8406)[LICENSE]
Follow copyright header guidelines and delete For Jest software (#8428)
[jest-runtime]
Fix module registry memory leak (#8282)[jest-resolve]
optimize resolve module path (#8388)[jest-resolve]
cache current directory (#8412)[jest-get-type]
Simplify checking for primitive (#8416)
[@jest/config]
NormalizetestSequencer
to its absolute path (#8267)[@jest/console]
Print to stderr when callingconsole.error
,console.warn
orconsole.assert
using thejest-runtime
CLI (#8261)
[@jest/core, @jest/test-sequencer]
MovetestSequencer
to individual package@jest/test-sequencer
(#8223)[@jest/core, jest-cli, jest-config]
Add optiontestSequencer
allow user use custom sequencer. (#8223)
[expect]
Add negative equality tests for iterables (#8260)[jest-haste-map]
Resolve fs watcher EMFILE error (#8258)
[expect]
Remove repetition of matcherName and options in matchers (#8224)
[expect]
: Improve report when matcher fails, part 13 (#8077)[@jest/core]
Filter API pre-filter setup hook (#8142)[jest-snapshot]
Improve report when matcher fails, part 14 (#8132)[@jest/reporter]
Display todo and skip test descriptions when verbose is true (#8038)[jest-runner]
Support default exports for test environments (#8163)[pretty-format]
Support React.Suspense (#8180)[jest-snapshot]
Indent inline snapshots (#8198)[jest-config]
Support colors indisplayName
configuration (#8025)
[jest-circus]
Fix test retries with beforeAll/beforeEach failures (#8227)[expect]
Fix circular references in iterable equality (#8160)[jest-changed-files]
Change method of obtaining git root (#8052)[jest-each]
Fix test function type (#8145)[jest-fake-timers]
getTimerCount
not taking immediates and ticks into account (#8139)[jest-runtime]
Allow json file as manual mock (#8159)[pretty-format]
PrintBigInt
as a readable number instead of{}
(#8138)[jest-core]
Fix ability to transform dependencies required from globalSetup script (#8143)[@jest/reporters]
Fix Cannot read property converageData of null (#8168)[jest-worker]
JEST_WORKER_ID
starts at 1 (#8205)[jest-config]
Use default cwd even if config contains a cwd property (#7923)[jest-resolve-dependencies]
: Remove internal peer dependencies (#8215)[jest-resolve]
: Remove internal peer dependencies (#8215)[jest-snapshot]
: Remove internal peer dependencies (#8215)[jest-resolve]
Fix requireActual with moduleNameMapper (#8210)[jest-haste-map]
Fix haste map duplicate detection in watch mode (#8237)
[*]
Remove flow from code base (#8061)[*]
Use property initializer syntax in Jest codebase (#8117)[*]
Move @types/node to the root package.json (#8129)[*]
Add documentation and tests related to auto-mocking (#8099)[*]
Addjest-watch-typeahead
as a devDependency (#6449)[*]
upgrade TS to 3.4.0-dev* for incremental builds (#8149)[docs]
Improve description of optional arguments in ExpectAPI.md (#8126)
[jest-haste-map]
Optimize haste map data structure for serialization/deserialization (#8171)[jest-haste-map]
Avoid persisting haste map or processing files when not changed (#8153)[jest-core]
Improve performance of SearchSource.findMatchingTests by 15% (#8184)[jest-resolve]
Optimize internal cache lookup performance (#8183)[jest-core]
Dramatically improve watch mode performance (#8201)[jest-transform]
Cache regular expression instead of creating anew for every file in ScriptTransformer (#8235)[jest-core]
Fix memory leak of source map info and minor performance improvements (#8234)[jest-console]
Fix memory leak by releasing console output reference when printed to stdout (#8233)[jest-runtime]
UseMap
instead ofObject
for module registry (#8232)
[jest-haste-map]
ExposethrowOnModuleCollision
viaconfig.haste
(#8113)
[expect]
ExportMatchers
interface fromexpect
(#8093)
[jest-resolve]
Now supports PnP environment without plugins (#8094)
[expect]
Compare DOM nodes even if there are multiple Node classes (#8064)[jest-worker]
worker.getStdout()
can returnnull
(#8083)[jest-worker]
Re-attach stdout and stderr from new processes/threads created after retries (#8087)[jest-reporters/jest-runner]
SerializechangedFiles
passed to workers (#8090)
[*]
Make sure to included.ts
files in the tarball when building (#8086)
[jest-cli]
export functions compatible withimport {default}
(#8080)[jest-worker]
: Fix retries and error notification in workers (#8079)
[pretty-format]
: Usereact-is
instead of manual$$typeof
checks (#8060)
We skipped 24.2.0 because a draft was accidentally published. Please use 24.3.0
or a newer version instead.
[expect]
: Improve report when matcher fails, part 10 (#7960)[expect]
: Improve report when matcher fails, part 11 (#8008)[expect]
: Improve report when matcher fails, part 12 (#8033)[expect]
: Improve report when matcher fails, part 7 (#7866)[expect]
: Improve report when matcher fails, part 8 (#7876)[expect]
: Improve report when matcher fails, part 9 (#7940)[jest-circus/jest-jasmine2]
Warn if describe returns a value (#7852)[jest-config]
Print error information on preset normalization error (#7935)[jest-get-type]
AddisPrimitive
function (#7708)[jest-haste-map]
AddskipPackageJson
option (#7778)[jest-util]
AddisPromise
(#7852)[pretty-format]
SupportReact.memo
(#7891)
[expect]
FixtoStrictEqual
not considering arrays with objects having undefined values correctly (#7938)[expect]
Fix custom async matcher stack trace (#7652)[expect]
Fix non-object received value in toHaveProperty (#7986, #8067)[expect]
Fix non-symmetric equal for Number (#7948)[expect]
Remove duck typing and obsolete browser support code when comparing DOM nodes and use DOM-Level-3 API instead (#7995)[jest-changed-files]
FixgetChangedFilesFromRoots
to not return parts of the commit messages as if they were files, when the commit messages contained multiple paragraphs (#7961)[jest-changed-files]
Fix pattern for HG changed files (#8066)[jest-changed-files]
Improve default file selection for Mercurial repos (#7880)[jest-circus]
Fix bug with test.only (#7888)[jest-circus]
: Throw explicit error when errors happen after test is considered complete (#8005)[jest-cli]
Fix prototype pollution vulnerability in dependency (#7904)[jest-cli]
Refactor-o
and--coverage
combined (#7611)[jest-environment-node]
Add missing globals: TextEncoder and TextDecoder (#8022)[jest-haste-map]
Enforce uniqueness in names (mocks and haste ids) (#8002)[jest-jasmine2]
: Throw explicit error when errors happen after test is considered complete (#8005)[jest-mock]
Adds a type check toprototype
to allow mocks of objects with a primitiveprototype
property. (#8040)[jest-transform]
Normalize config and remove unnecessary checks, convertTestUtils.js
to TypeScript (#7801)[jest-util]
Make sure to not fail if unable to assigntoStringTag
to theprocess
object, which is read only in Node 12 (#8050)[jest-validate]
Fix validating async functions (#7894)[jest-worker]
Fixjest-worker
when using pre-allocated jobs (#7934)[static]
Remove console log '-' on the front page (#7977)
[*]
: Setup building, linting and testing of TypeScript (#7808, #7855, #7951)[@jest/console]
: Extract customconsole
implementations fromjest-util
into a new separate package (#8030)[@jest/core]
Create new package, which isjest-cli
minusyargs
andprompts
(#7696)[@jest/core]
: Migrate to TypeScript (#7998)[@jest/fake-timers]
: Extract FakeTimers class fromjest-util
into a new separate package (#7987)[@jest/reporter]
: New package extracted fromjest-cli
(#7902)[@jest/reporters]
: Migrate to TypeScript (#7994, #8045)[@jest/source-map]
: ExtractgetCallsite
function fromjest-util
into a new separate package (#8029)[@jest/test-result]
: Extract TestResult types and helpers into a new separate package (#8034)[@jest/transform]
: Migrate to TypeScript (#7918, #7945)[@jest/transform]
: New package extracted fromjest-runtime
(#7915)[@jest/types]
: New package to handle shared types (#7834)[babel-jest]
: Migrate to TypeScript (#7862)[babel-plugin-jest-hoist]
: Migrate to TypeScript (#7898)[diff-sequences]
: Migrate to Typescript (#7820)[docs]
Add missing import to docs (#7928)[docs]
Update automock configuration, add note related to manual mocks (#8051)[docs]
Update/Organize TestSequencer and testSchedulerHelper code comments(#7984)[docs]
: Fix image paths in SnapshotTesting.md for current and version 24 (#7872)[docs]
: Improve runAllTimers doc (it exhausts the micro-task queue) (#8031)[docs]
: Update CONTRIBUTING.md to add information about running jest withjest-circus
locally (#8013).[expect]
: Migrate to TypeScript (#7919, #8028)[jest-changed-files]
: Migrate to TypeScript (#7827)[jest-circus]
: Migrate to TypeScript (#7916)[jest-cli]
: Migrate to TypeScript (#8024)[jest-diff]
: Migrate to TypeScript (#7824, #8027)[jest-docblock]
: Migrate to TypeScript (#7836)[jest-each]
: Migrate to Typescript (#8007)[jest-each]
: Refactor into multiple files with better types (#8018)[jest-environment-jsdom]
: Migrate to TypeScript (#7985)[jest-environment-node]
: Migrate to TypeScript (#7985)[jest-get-type]
: Migrate to TypeScript (#7818)[jest-haste-map]
: Migrate to TypeScript (#7854, #7951)[jest-jasmine2]
: TS migration (#7970)[jest-leak-detector]
: Migrate to TypeScript (#7825)[jest-matcher-utils]
: Migrate to TypeScript (#7835)[jest-message-util]
: Migrate to TypeScript (#7834)[jest-mock]
: Migrate to TypeScript (#7847, #7850, #7971)[jest-phabricator]
: Migrate to TypeScript (#7965)[jest-regex-util]
: Migrate to TypeScript (#7822)[jest-repl]
: Migrate to TypeScript (#8000)[jest-resolve-dependencies]
: Migrate to TypeScript (#7922)[jest-resolve]
: Migrate to TypeScript (#7871)[jest-runner]
: Migrate to TypeScript (#7968)[jest-runtime]
: Migrate to TypeScript (#7964, #7988)[jest-serializer]
: Migrate to TypeScript (#7841)[jest-snapshot]
: Migrate to TypeScript (#7899)[jest-util]
: Migrate to TypeScript (#7844, #8021)[jest-validate]
: Migrate to TypeScript (#7991)[jest-watcher]
: Migrate to TypeScript (#7843)[jest-worker]
: Migrate to TypeScript (#7853)[jest]
: Migrate to TypeScript (#8024)[pretty-format]
: Migrate to TypeScript (#7809, #7809)
[jest-haste-map]
Optimize haste map tracking of deleted files with Watchman. (#8056)
[jest-resolve]
: Pass default resolver into custom resolvers (#7714)[jest-cli]
:global{Setup,Teardown}
use default export with es modules (#7750)[jest-runtime]
Better error messages when the jest environment is used after teardown by async code (#7756)[jest-jasmine2]
Will now only execute at most 5 concurrent tests within the same testsuite when usingtest.concurrent
(#7770)[jest-circus]
Same as[jest-jasmine2]
, only 5 tests will run concurrently by default (#7770)[jest-config]
A newmaxConcurrency
option allows to change the number of tests allowed to run concurrently (#7770)
[jest-runtime]
Fix for mocks not working with module name mapper (#7787)[jest-cli]
Break dependency cycle when using Jest programmatically (#7707)[jest-config]
Extract setupFilesAfterEnv from preset (#7724)[jest-cli]
Do not execute anyglobalSetup
orglobalTeardown
if there are no tests to execute (#7745)[jest-runtime]
Lock down version ofwrite-file-atomic
(#7725)[jest-cli]
Print log entries when logging happens after test environment is torn down (#7731)[jest-config]
Do not use a uuid asname
since that breaks caching (#7746)[jest-config]
Make surenormalize
can consumeDefaults
without warnings (#7742)[jest-config]
AllowmoduleFileExtensions
without 'js' for custom runners (#7751)[jest-cli]
Load transformers before installing require hooks (#7752)[jest-cli]
Handle missingnumTodoTests
in test results (#7779)[jest-runtime]
Exclude setup/teardown files from coverage report (#7790)[babel-jest]
Throw an error ifbabel-jest
tries to transform a file ignored by Babel (#7797)[babel-plugin-jest-hoist]
Ignore TS type references when looking for out-of-scope references (#7799)[expect]
fixed asymmetrical equality of cyclic objects (#7730)
[jest]
Update jest-junit to ^6.2.1 (#7739)[website]
Fix broken help link on homepage (#7706)[docs]
Changed Babel setup documentation to correctly compileasync/await
(#7701)
[jest-each]
[BREAKING] Add primitive pretty printing for interpolated titles (#7694)[jest-runtime]
Addjest.isolateModules
for scoped module initialization (#6701)[jest-diff]
[BREAKING] Support diffing numbers and booleans instead of returning null for different ones (#7605)[jest-diff]
[BREAKING] Replacediff
withdiff-sequences
package (#6961)[jest-cli]
[BREAKING] Only set error process error codes when they are non-zero (#7363)[jest-config]
[BREAKING] DeprecatesetupTestFrameworkScriptFile
in favor of newsetupFilesAfterEnv
(#7119)[jest-worker]
[BREAKING] Add functionality to call asetup
method in the worker before the first call and ateardown
method when ending the farm (#7014)[jest-config]
[BREAKING] Set defaultnotifyMode
tofailure-change
(#7024)[jest-haste-map]
[BREAKING] Remove support for@providesModule
(#6104)[jest-haste-map]
[BREAKING] Replace internal data structures to improve performance (#6960)[jest-haste-map]
[BREAKING] Use relative paths to allow remote caching (#7020)[jest-haste-map]
[BREAKING] Remove name from hash inHasteMap.getCacheFilePath
(#7218)[babel-preset-jest]
[BREAKING] Export a function instead of an object for Babel 7 compatibility (#7203)[jest-haste-map]
[BREAKING] Expose relative paths when getting the file iterator (#7321)[jest-cli]
[BREAKING] Run code transforms overglobal{Setup,Teardown}
(#7562)[jest-haste-map]
AddhasteFS.getSize(path)
(#7580)[jest-cli]
Print version ending in-dev
when running a local Jest clone (#7582)[jest-cli]
Add Support forglobalSetup
andglobalTeardown
in projects (#6865)[jest-runtime]
AddextraGlobals
to config to load extra global variables into the execution vm (#7454)[jest-util]
ExportspecialChars
containing Unicode characters and ANSI escapes for console output (#7532)[jest-config]
Handle typescript (ts
andtsx
) by default (#7533)[jest-validate]
Add support for comments inpackage.json
using a"//"
key (#7295)[jest-config]
Add shorthand for watch plugins and runners (#7213)[jest-jasmine2/jest-circus/jest-cli]
Add test.todo (#6996)[pretty-format]
Option to not escape strings in diff messages (#5661)[jest-haste-map]
AddgetFileIterator
toHasteFS
for faster file iteration (#7010)[jest-config]
AddreadConfigs
function, previously injest-cli
(#7096)[jest-snapshot]
Enable configurable snapshot paths (#6143)[pretty-format]
Support HTMLCollection and NodeList in DOMCollection plugin (#7125)[jest-runtime]
Pass the normalized configuration to script transformers (#7148)[expect]
Improve report when assertion fails, part 3 (#7152)[jest-runtime]
Ifrequire
fails without a file extension, print all files that match with one (#7160)[jest-haste-map]
MakeignorePattern
optional (#7166)[jest-haste-map]
AddgetCacheFilePath
to get the path to the cache file for aHasteMap
instance (#7217)[jest-runtime]
RemovecacheDirectory
fromignorePattern
forHasteMap
if not necessary (#7166)[jest-validate]
Add syntax to validate multiple permitted types (#7207)[jest-config]
Accept an array as as well as a string fortestRegex
([#7209]jestjs#7209))[expect/jest-matcher-utils]
Improve report when assertion fails, part 4 (#7241)[expect/jest-matcher-utils]
Improve report when assertion fails, part 5 (#7557)[expect]
Check constructor equality in .toStrictEqual() (#7005)[jest-util]
Addjest.getTimerCount()
to get the count of scheduled fake timers (#7285)[jest-config]
AdddependencyExtractor
option to use a custom module to extract dependencies from files (#7313, #7349, #7350, #7362)[jest-haste-map]
Accept agetCacheKey
method inhasteImplModulePath
modules to reset the cache when the logic changes (#7350)[jest-config]
Addhaste.computeSha1
option to compute the sha-1 of the files in the haste map (#7345)[expect]
expect(Infinity).toBeCloseTo(Infinity)
TreatsInfinity
as equal in toBeCloseTo matcher (#7405)[jest-worker]
Add node worker-thread support to jest-worker (#7408)[jest-config]
Allowbail
setting to be configured with a number allowing tests to abort aftern
of failures (#7335)[jest-config]
Allow % based configuration of--max-workers
(#7494)[jest-runner]
Instantiate the test environment class with the currenttestPath
(#7442)[jest-config]
Always resolve jest-environment-jsdom from jest-config (#7476)[expect]
Improve report when assertion fails, part 6 (#7621)[jest-worker]
AddenableWorkerThreads
option to explicitly opt-in toworker_threads
if available (#7681)
[expect]
Accept inherited properties intoHaveProperty
matcher (#7686)[jest-diff]
Do not claim that-0
and0
have no visual difference (#7605)[jest-mock]
Fix automock for numeric function names (#7653)[jest-config]
EnsureexistsSync
is only called with a string parameter (#7607)[expect]
toStrictEqual
considers sparseness of arrays. (#7591)[jest-cli]
Fix empty coverage data for untested files (#7388)[jest-cli]
[BREAKING] Do not usetext-summary
coverage reporter by default if other reporters are configured (#7058)[jest-mock]
[BREAKING] Fix bugs with mock/spy result tracking of recursive functions (#6381)[jest-haste-map]
[BREAKING] Recover files correctly after haste name collisions are fixed (#7329)[pretty-format]
[BREAKING] Omit non-enumerable symbol properties (#7448)[*]
[BREAKING] Upgrade to Babel 7, dropping support for Babel 6 (#7016)[jest-cli]
Avoid watch mode causing bad terminal behavior in some cases (#7523)[jest-runner/jest-worker]
Fix missing console output in verbose mode (#6871)[expect]
Standardize file naming inexpect
(#7306)[jest-each]
Add empty array validation check (#7249)[jest-cli]
Interrupt tests if interactive watch plugin key is pressed (#7222)[jest-each]
Add each array validation check (#7033)[jest-haste-map]
Do not visit again files with the same sha-1 (#6990)[jest-jasmine2]
Fix memory leak in Error objects hold by the framework (#6965)[jest-haste-map]
Fixed Haste whitelist generation for scoped modules on Windows (#6980)[jest-mock]
Fix inheritance of static properties and methods in mocks (#7003)[jest-mock]
Fix mocking objects withoutObject.prototype
in their prototype chain (#7003)[jest-mock]
Check_isMockFunction
is true rather than truthy on potential mocks (#7017)[jest-cli]
Update jest-cli to show git ref in message when usingchangedSince
(#7028)[jest-jasmine2
] Fix crash when test return Promise rejected with null (#7049)[jest-runtime]
Check_isMockFunction
is true rather than truthy on potential global mocks (#7017)[jest-jasmine]
Show proper error message from asyncassert
errors (#6821)[jest-jasmine2]
Better error message when a describe block is empty (#6372)[jest-jasmine2]
Pending calls inside async tests are reported as pending not failed (#6782)[jest-circus]
Better error message when a describe block is empty (#6372)[jest-jasmine2]
Add missing testLocationResults forxit
andfit
(#6482)[expect]
Return false from asymmetric matchers if received value isn’t string (#7107)[jest-cli]
Fix unhandled error when a bad revision is provided tochangedSince
(#7115)[jest-config]
Moved dynamically assignedcwd
fromjest-cli
to default configuration injest-config
(#7146)[jest-config]
FixgetMaxWorkers
on termux (#7154)[jest-runtime]
Throw an explicit error ifjs
is missing frommoduleFileExtensions
(#7160)[jest-runtime]
Fix missing coverage when using negative glob pattern intestMatch
(#7170)[*]
EnsuremaxWorkers
is at least 1 (was 0 in some cases where there was only 1 CPU) (#7182)[jest-runtime]
Fix transform cache invalidation when requiring a test file from multiple projects (#7186)[jest-changed-files]
Return correctly the changed files when usinglastCommit=true
on Mercurial repositories (#7228)[babel-jest]
Cache includes babel environment variables (#7239)[jest-config]
Use strings instead ofRegExp
instances in normalized configuration (#7251)[jest-circus]
Make sure to display real duration even if time is mocked (#7264)[expect]
Improves the failing message fortoStrictEqual
matcher. (#7224)[expect]
Improves the failing message fortoEqual
matcher. (#7325)[jest-resolve]
Fix not being able to resolve path to mapped file with custom platform (#7312)[jest-message-util]
Improve parsing of error messages for unusually formatted stack traces (#7319)[jest-runtime]
Ensure error message text is not lost on errors with code frames (#7319)[jest-haste-map]
Fix to resolve path that is start with words same as rootDir (#7324)[expect]
Fix toMatchObject matcher when used withObject.create(null)
(#7334)[jest-haste-map]
Remove legacy condition for duplicate module detection (#7333)[jest-haste-map]
Fixrequire
detection with trailing commas and ignoreimport typeof
modules (#7385)[jest-cli]
Fix to set prettierPath via config file (#7412)[expect]
Test more precisely for class instance getters (#7477)[jest-cli]
Support dashed args (#7497)[jest-cli]
Fix to run in band tests if watch mode enable when runInBand arg used (#7518)[jest-runtime]
Fix mistake as test files when run coverage issue. (#7506)[jest-cli]
print info about passWithNoTests flag (#7309)[pretty-format]
Omit unnecessary symbol filter for object keys (#7457)[jest-runtime]
FixrequireActual
on node_modules with mock present (#7404)[jest-resolve]
FixisBuiltinModule
to support versions of node withoutmodule.builtinModules
(#7565)[babel-jest]
Setcwd
to be resilient to it changing during the runtime of the tests (#7574)[jest-snapshot]
Write and read snapshots from disk even iffs
is mocked (#7080)[jest-config]
Normalizeconfig.cwd
andconfig.rootDir
using `realpath (#7598)[jest-environment-node]
Fix buffer property is not ArrayBuffer issue. (#7626)[babel-plugin-jest-hoist]
Ignore TS type annotations when looking for out-of-scope references (#7641)[jest-config]
Add name to project if one does not exist to pick correct resolver (#5862)[jest-runtime]
PasswatchPathIgnorePatterns
to Haste instance (#7585)[jest-runtime]
Resolve mock files via Haste when usingrequire.resolve
(#7687)
[*]
[BREAKING] Require Node.js 6+ for all packages (#7258)[jest-util]
[BREAKING] Remove long-deprecated globals for fake timers (#7285)[*]
[BREAKING] Upgrade to Micromatch 3 (#6650)[*]
[BREAKING] Remove regenerator-runtime injection (#7595)[jest-worker]
Disableworker_threads
to avoid issues with libraries to ready for it (#7681)[docs]
Fix message property in custom matcher example to return a function instead of a constant. (#7426)[jest-circus]
Standardize file naming injest-circus
(#7301)[docs]
Add synchronous test.each setup (#7150)[docs]
Addthis.extend
to the Custom Matchers API reference (#7130)[docs]
Fix default value forcoverageReporters
value in configuration docs (#7126)[docs]
Add link for jest-extended in expect docs (#7078)[jest-util]
Add ErrorWithStack class (#7067)[docs]
Document--runTestsByPath
CLI parameter (#7046)[docs]
Fix babel-core installation instructions (#6745)[docs]
Explain how to rewrite assertions to avoid large irrelevant diff (#6971)[examples]
add example using Babel 7 (#6983)[docs]
Replace shallow equality with referential identity inExpectAPI.md
(#6991)[jest-changed-files]
Refactor to useexeca
overchild_process
(#6987)[*]
Bump dated dependencies (#6978)[scripts]
Don’t make empty sub-folders for ignored files in build folder (#7001)[docs]
Add missing export statement inpuppeteer_environment.js
underdocs/Puppeteer.md
(#7127)[docs]
Removed useless expect.assertions inTestingAsyncCode.md
(#7131)[docs]
Remove references to@providesModule
which isn't supported anymore (#7147)[docs]
UpdatesetupFiles
documentation for clarity (#7187)[docs]
Changerequire.require*
tojest.require*
(#7210)[jest-circus]
Add readme.md (#7198)[jest-editor-support]
Remove from the repository (#7232)[jest-test-typescript-parser]
Remove from the repository (#7232)[tests]
Free tests from the dependency on value of FORCE_COLOR (#6585)[*]
Add babel plugin to make sure Jest is unaffected by fake Promise implementations (#7225)[docs]
Add correct default value fortestUrl
config option (#7277)[docs]
Remove duplicate code inMockFunctions
(#7297)[*]
Add check for Facebook copyright headers on CI (#7370)[*]
Update Facebook copyright headers (#7589)[jest-haste-map]
RefactordependencyExtractor
and tests (#7385)[docs]
Clearify conditional setting ofNODE_ENV
(#7369)[docs]
Clarify conditional setting ofNODE_ENV
(#7369)[*]
Standardize file names (#7316, #7266, #7238, #7314, #7467, #7464), #7471)[docs]
AddtestPathIgnorePatterns
in CLI documentation (#7440)[docs]
Removed misleading text aboutdescribe()
grouping together tests into a test suite (#7434)[diff-sequences]
Add performance benchmark to package (#7603)[*]
Replace as manyObject.assign
with object spread as possible (#7627)[ci]
Initial support for Azure Pipelines (#7556)
[jest-mock]
ImprovegetType
function performance. (#7159)
[jest-cli]
AddchangedSince
to allowed watch mode configs (#6955)[babel-jest]
Add support forbabel.config.js
added in Babel 7.0.0 (#6911)[jest-resolve]
Add support for an experimentalmapper
option (Watchman crawler only) that adds virtual files to the Haste map (#6940)
[jest-resolve]
Only resolve realpath once in try-catch (#6925)[expect]
Fix TypeError intoBeInstanceOf
onnull
orundefined
(#6912)[jest-jasmine2]
Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)[jest-circus]
Throw a descriptive error if the first argument supplied to a hook was not a function (#6917) and (#6931)[expect]
Fix variadic custom asymmetric matchers (#6898)[jest-cli]
Fix incorrecttestEnvironmentOptions
warning (#6852)[jest-each]
Prevent done callback being supplied to describe (#6843)[jest-config]
Better error message for a case when a preset module was found, but nojest-preset.js
orjest-preset.json
at the root (#6863)[jest-haste-map]
Catch crawler error when unsuccessfully reading directories (#6761)
[docs]
Add custom toMatchSnapshot matcher docs (#6837)[docs]
Improve the documentation regarding preset configuration (#6864)[docs]
Clarify usage of--projects
CLI option (#6872)[docs]
Correctfailure-change
notification mode (#6878)[scripts]
Don’t remove node_modules from subdirectories of presets in e2e tests (#6948)[diff-sequences]
Double-check number of differences in tests (#6953)
[jest-cli]
Add package name toNotifyReporter
notification (#5898)[jest-runner]
print stack trace whenprocess.exit
is called from user code (#6714)[jest-each]
introduces%#
option to add index of the test to its title (#6414)[pretty-format]
Support serializingDocumentFragment
(#6705)[jest-validate]
Addrecursive
andrecursiveBlacklist
options for deep config checks (#6802)[jest-cli]
Check watch plugins for key conflicts (#6697)
[jest-snapshot]
Mark snapshots as obsolete when moved to an inline snapshot (#6773)[jest-config]
Fix--coverage
with--findRelatedTests
overwritingcollectCoverageFrom
options (#6736)[jest-config]
Update default config for testURL from 'about:blank' to 'http://localhost' to address latest JSDOM security warning. (#6792)[jest-cli]
FixtestMatch
not working with negations (#6648)[jest-cli]
Don't report promises as open handles (#6716)[jest-each]
Add timeout support to parameterised tests (#6660)[jest-cli]
Improve the message when running coverage while there are no files matching global threshold (#6334)[jest-snapshot]
Correctly merge property matchers with the rest of the snapshot intoMatchSnapshot
. (#6528)[jest-snapshot]
Add error messages for invalid property matchers. (#6528)[jest-cli]
Show open handles from inside test files as well (#6263)[jest-haste-map]
Fix a problem where creating folders ending with.js
could cause a crash (#6818)
[docs]
Document another option to avoid warnings with React 16 (#5258)[docs]
Add note explaining whenjest.setTimeout
should be called (#6817)[docs]
Fixed bug in example code (#6828)
[jest-changed-files]
limit git and hg commands to specified roots (#6732)
[jest-circus]
Fix retryTimes so errors are reset before re-running (#6762)[docs]
Updateexpect.objectContaining()
description (#6754)[babel-jest]
MakegetCacheKey()
take into accountcreateTransformer
options (#6699)[jest-jasmine2]
Use prettier throughrequire
instead oflocalRequire
. FixesmatchInlineSnapshot
where prettier dependencies likepath
andfs
are mocked withjest.mock
. (#6776)[docs]
Fix contributors link (#6711)[website]
Fix website versions page to link to correct language (#6734)[expect]
UpdatetoContain
suggestion to contain equal message (#6792)
[jest-cli]
Watch plugins now have access to a broader range of global configuration options in theirupdateConfigAndRun
callbacks, so they can provide a wider set of extra features (#6473)[jest-snapshot]
babel-traverse
is now passed tojest-snapshot
explicitly to avoid unnecessary requires in every test
[jest-haste-map]
Optimize watchman crawler by usingglob
on initial query (#6689)[pretty-format]
Fix formatting of invalid Date objects (#6635)
[jest-haste-map]
AddcomputeDependencies
flag to avoid opening files if not needed (#6667)[jest-runtime]
Supportrequire.resolve.paths
(#6471)[jest-runtime]
Supportpaths
option forrequire.resolve
(#6471)
[jest-runner]
Force parallel runs for watch mode, to avoid TTY freeze (#6647)[jest-cli]
properly reprint resolver errors in watch mode (#6407)[jest-cli]
Write configuration to stdout when the option was explicitly passed to Jest (#6447)[jest-cli]
Fix regression on non-matching suites (6657)[jest-runtime]
Roll backmicromatch
version to prevent regression when matching files (#6661)
[jest-cli]
Allow watch plugin to be configured (#6603)[jest-snapshot]
IntroducetoMatchInlineSnapshot
andtoThrowErrorMatchingInlineSnapshot
matchers (#6380)
[jest-regex-util]
Improve handling already escaped path separators on Windows (#6523)[jest-cli]
FixtestNamePattern
value with interactive snapshots (#6579)[jest-cli]
Fix enter to interrupt watch mode (#6601)
[website]
Switch domain to https://jestjs.io (#6549)[tests]
Improve stability ofyarn test
on Windows (#6534)[*]
Transpile object shorthand into Node 4 compatible syntax (#6582)[*]
Update all legacy links to jestjs.io (#6622)[docs]
Add docs for 23.1, 23.2, and 23.3 (#6623)[website]
Only test/deploy website if relevant files are changed (#6626)[docs]
Describe behavior ofresetModules
option when set tofalse
(#6641)
[jest-each]
Add support for keyPaths in test titles (#6457)[jest-cli]
Addjest --init
option that generates a basic configuration file with a short description for each option (#6442)[jest.retryTimes]
Addjest.retryTimes()
option that allows failed tests to be retried n-times when using jest-circus. (#6498)
[docs]
Fixed error in documentation for expect.not.arrayContaining(array). (#6491)[jest-cli]
Add check to make sure one or more tests have run before notifying when using--notify
(#6495)[jest-cli]
PassglobalConfig
as a parameter toglobalSetup
andglobalTeardown
functions (#6486)[jest-config]
Add missing options to thedefaults
object (#6428)[expect]
Using symbolic property names in arrays no longer causes thetoEqual
matcher to fail (#6391)[expect]
toEqual
no longer tries to compare non-enumerable symbolic properties, to be consistent with non-symbolic properties. (#6398)[jest-util]
console.timeEnd
now properly log elapsed time in milliseconds. (#6456)[jest-mock]
FixMockNativeMethods
access in react-nativejest.mock()
(#6505)[jest-cli]
Fixreporters
formoduleName
='default'
(#6542)
[docs]
Add jest-each docs for 1 dimensional arrays (#6444)
[jest-each]
Add pretty-format serialising to each titles (#6357)[jest-cli]
shouldRunTestSuite watch hook now receives an object withconfig
,testPath
andduration
(#6350)[jest-each]
Support one dimensional array of data (#6351)[jest-watch]
create new packagejest-watch
to ease custom watch plugin development (#6318)[jest-circus]
Make hooks in empty describe blocks error (#6320)- Add a config/CLI option
errorOnDeprecated
which makes calling deprecated APIs throw hepful error messages (#6339)
[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 toeach
points 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-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--changedSince
flag (#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--detectOpenHandles
flag 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 withvendor
anymore (#6117)[jest-validate]
Get rid ofjest-config
dependency (#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-Error
s (#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]
Movecoverage
toProjectWorkspace.collectCoverage
(#5929)[jest-editor-support]
Addcoverage
option to runner (#5836)[jest-haste-map]
Support extracting dynamicimport
s (#5883)[expect]
Improve output format for mismatchedArgs in mock/spy calls. (#5846)[jest-cli]
Add support for using--coverage
in combination with watch mode,--onlyChanged
,--findRelatedTests
and more (#5601)[jest-jasmine2]
[BREAKING] Adds error throwing and descriptive errors toit
/test
for invalid arguments.[jest-circus]
Adds error throwing and descriptive errors toit
/test
for invalid arguments (#5558)[jest-matcher-utils]
AddisNot
option tomatcherHint
function (#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.extend
now also extends asymmetric matchers (#5503)[jest-mock]
UpdatespyOnProperty
to support spying on the prototype chain (#5753)[jest-mock]
Add tracking of return values in themock
property (#5752)[jest-mock]
Add tracking of thrown errors in themock
property (#5764)[expect]
Add nthCalledWith spy matcher (#5605)[jest-cli]
AddisSerial
property that runners can expose to specify that they can not run in parallel (#5706)[expect]
Add.toBeCalledTimes
andtoHaveBeenNthCalledWith
aliases (#5826)[jest-cli]
Interactive Snapshot Mode improvements (#5864)[jest-editor-support]
Addno-color
option 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]
[BREAKING] 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 usingconsole
global variable (#6075)[jest-jasmine2]
Always remove node core message from assert stack traces (#6055)[expect]
Add stack trace whenexpect.assertions
andexpect.hasAssertions
causes 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-support
into 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
/globalTeardown
file 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]
UpdateSettings
to 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]
PreventmockRejectedValue
from causing unhandled rejection (#5720)[pretty-format]
Handle React fragments better (#5816)[pretty-format]
Handle formatting ofReact.forwardRef
andContext
components (#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-jasmine2
tojest-runner
(#6176)[jest-cli]
Use yargs's built-inversion
instead of rolling our own (#6215)[docs]
Add explanation on how to mock methods not implemented in JSDOM[jest-jasmine2]
SimplifyEnv.execute
and 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.genMockFn
andjest.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]
RemoveretainLines
argument to babel. (#5594)
[jest-runtime]
Providerequire.main
property 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 mergetransform
option with preset (#5505)[jest-util]
Fixconsole.assert
behavior 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 projectdisplayName
configuration (#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--notifyMode
to 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]
Addcomment
option tomatcherHint
function (#5437)[jest-config]
Allow lastComit and changedFilesWithAncestor via JSON config (#5476)[jest-util]
Add deletion toprocess.env
as 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 (``) tomock
a certain package via the__mocks__
folder. (#5426)[jest-message-util]
Prevent anENOENT
crash when the test file contained a malformed source-map. (#5405).[jest]
Addimport-local
tojest
package. (#5353)[expect]
Support class instances in.toHaveProperty()
and.toMatchObject
matcher. (#5367)[jest-cli]
Fix npm update command for snapshot summary. (#5376, 5389)[expect]
Makerejects
andresolves
synchronously 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 ofcwd
to 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]
FixEISDIR
when 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--onlyChanged
options having been passed to the CLI[jest-cli]
Add interactive snapshot mode (#3831)
[jest-cli]
Useimport-local
to 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]
--lastCommit
and--changedFilesWithAncestor
now take effect even when--onlyChanged
is 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 ofstringContaining
andstringMatching
matchers do not match. (#5069)[jest-cli]
Treat dumb terminals as noninteractive (#5237)[jest-cli]
jest --onlyChanged --changedFilesWithAncestor
now 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 inrootDir
before interpolating withtestMatch
. (#4838)[jest-regex-util]
Fix breaking change in--testPathPattern
(#5230)[expect]
Do not overrideError
stack (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 asdescribe
names. (#5154)[jest-jasmine2]
Support generator functions as specs. (#5166)[jest-jasmine2]
AllowspyOn
with getters and setters. (#5107)[jest-config]
Allow configuration objects insideprojects
array (#5176)[expect]
Add support to.toHaveProperty
matcher 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 newoptions
parameter. Currently this only has theconsole
which is the test console that Jest will expose to tests. (#5223)[jest-environment-jsdom]
pass theoptions.console
to a custom instance ofvirtualConsole
so 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 onmoduleNameMapper
ordering. (#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]
AddforceCoverageMatch
to allow collecting coverage from ignored files. (#5081)
[jest-resolve]
Usemodule.builtinModules
asBUILTIN_MODULES
when it exists[jest-worker]
Removedebug
andinspect
flags from the arguments sent to the child (#5068)[jest-config]
Use all--testPathPattern
and<regexForTestFiles>
args intestPathPattern
(#5066)[jest-cli]
Do not support--watch
inside 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_script
calls Jest directly (#4629)[jest-cli]
Fix --showConfig to show all configs (#4494)[jest-cli]
Throw ifmaxWorkers
doesn't have a value (#4591)[jest-cli]
Usefs.realpathSync.native
if available (#5031)[jest-config]
Fix--passWithNoTests
(#4639)[jest-config]
SupportrootDir
tag in testEnvironment (#4579)[jest-editor-support]
Fix--showConfig
to 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]
FixrunOnlyPendingTimers
forsetTimeout
insidesetImmediate
(#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 forpreset
json (#4766)[pretty-format]
ThrowPrettyFormatPluginError
if a plugin halts with an exception (#4787)[expect]
Keep the stack trace unchanged whenPrettyFormatPluginError
is thrown by pretty-format (#4787)[jest-environment-jsdom]
Fix asynchronous test will fail due to timeout issue. (#4669)[jest-cli]
Fix--onlyChanged
path 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]
AddtestEnvironmentOptions
to apply to jsdom options or node context. (#5003)[jest-jasmine2]
Update Timeout error message tojest.timeout
and 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]
Addtimestamps
to mock state. (#4866)[eslint-plugin-jest]
Addprefer-to-have-length
lint 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.mock
must 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.require
not enumerable (#4623)[jest-runtime]
Addmodule.parent
(#4614)[jest-runtime]
Support sourcemaps in transformers (#3458)[jest-snapshot]
[BREAKING] Add a serializer forjest.fn
to allow a snapshot of a jest mock (#4668)[jest-worker]
Initial version of parallel worker abstraction, say hello! (#4497)[jest-jasmine2]
AddtestLocationInResults
flag 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-util
should 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 optionaldone
argument 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.inverse
for 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 --verbose
problem (#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
contextLines
option 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
describe
and usetest
instead ofit
alias (#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.captureStackTrace
in 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
--projects
option 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
expect
matchers through.resolves
and.rejects
. (#3068) - New
expect.hasAssertions()
function similar toexpect.assertions()
. (#3379) - New
this.equals
function exposed to custom matchers. (#3469) - New
valid-expect
lint 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-environment
in 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
reporters
in 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-support
into a separatejest-test-typescript-parser
package. (#2973) - Breaking Change: Replaced auto-loading of babel-polyfill with only regenerator-runtime, fixes a major memory leak. (#2755)
- Fixed
babel-jest
to look up thebabel
field inpackage.json
as a fallback. - Fixed
jest-editor-support
's parser to not crash on incomplete ASTs. (#3259) - Fixed
jest-resolve
to useis-builtin-module
instead ofresolve.isCore
. (#2997) - Fixed
jest-snapshot
to normalize line endings in theserialize
function. (#3002) - Fixed behavior of
--silent
flag. (#3003) - Fixed bug with watchers on macOS causing test to crash. (#2957)
- Fixed CLI
notify
option 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.assertions
error. (#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
Config
type. (#3366) - Removed all usage of
jest-file-exists
. (#3101) - Adopted prettier on the Jest codebase.
- Fix infinite loop when using
--watch
with--coverage
. - Fixed
watchman
config 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
mocksPattern
configuration option, it never worked correctly. - Breaking Change: Renamed
testPathDirs
toroots
to 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-hoist
to 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
--bail
behavior. - 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-jest
plugin: 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
--collectCoverageFrom
cli argument. - New
--coverageDirectory
cli argument. - New
expect.addSnapshotSerializer
to add custom snapshot serializers for tests. - New
jest.spyOn
. - New
testMatch
configuration 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.js
will 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
context
variable. - 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
-h
as alias for--help
.
See https://jestjs.io/blog/2016/12/15/2016-in-jest
- The testResultsProcessor function is now required to return the modified results.
- Removed
pit
andmockImpl
. Useit
ormockImplementation
instead. - Fixed re-running tests when
--bail
is used together with--watch
. pretty-format
is 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
,testRunner
andtestResultsProcessor
instead of usingpath.resolve
. --testResultsProcessor
is now exposed through the cli.- Renamed
--jsonOutputFile
to--outputFile
. - Added
jest-editor-support
for vscode and Nuclide integration. - Fixed
test.concurrent
unhandled promise rejections. - The Jest website is now auto-deployed when merging into master.
- Updated
testRegex
to includetest.js
andspec.js
files. - Fixes for
babel-plugin-jest-hoist
when usingjest.mock
with three arguments. - The
JSON
global injest-environment-node
now 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-native
was deprecated and now forwardsreact-native
.- Added
.toMatchObject
matcher. - Further improve printing of large objects.
- Fixed
NaN% Failed
in the OS notification when using--notify
. - The first test run without cached timings will now use separate processes instead of running in band.
- Added
.toHaveProperty
matcher. - Fixed
Map
/Set
comparisons. test.concurrent
now works with--testNamePattern
.
- Improved file-watching feature in jest-haste-map.
- Added
.toHaveLength
matcher. - Improved
.toContain
matcher.
- Fixed performance regression in module resolution.
- Fixed pretty printing of big objects.
- Fixed resolution of
.native.js
files 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
scriptPreprocessor
with the newtransform
option. - Added
jest.resetAllMocks
which 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.
.babelrc
is 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
. --json
now 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.skip
andxtest
. - Added
--testNamePattern=pattern
or-t <pattern>
to run individual tests in test files. - Jest now warns for duplicate mock files.
- Pressing
a
,o
,p
,q
orenter
while tests are running in the watch mode, the test run will be interrupted. --bail
now works together with--watch
.- Added
test.concurrent
for concurrent async tests. - Jest now automatically considers files and tests with the
.jsx
extension. - Added
jest.clearAllMocks
to clear all mocks manually. - Rewrote Jest's snapshot implementation.
jest-snapshot
can 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
fit
or when an error is thrown in a test. - Finished migration of Jasmine matchers to the new Jest matchers.
- Pretty print
toHaveBeenLastCalledWith
,toHaveBeenCalledWith
,lastCalledWith
andtoBeCalledWith
failure messages. - Added
toBeInstanceOf
matcher. - Added
toContainEqual
matcher. - Added
toThrowErrorMatchingSnapshot
matcher. - Improved
moduleNameMapper
resolution. - Module registry fixes.
- Fixed invocation of the
setupTestFrameworkScriptFile
script 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.deepUnmock
tobabel-plugin-jest-hoist
. - Added
jest.runTimersToTime
which 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
testEnvironment
resolution. - Updated watch file name pattern input.
- Pretty printer updates for React and global window objects.
jest-runtime
overwrites 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
--bail
option.
- See https://jestjs.io/blog/2016/09/01/jest-15
- Jest by default now also recognizes files ending in
.spec.js
and.test.js
as test files. - Completely replaced most Jasmine matchers with new Jest matchers.
- Rewrote Jest's CLI output for test failures and summaries.
- Added
--env
option to override the default test environment. - Disabled automocking, fake timers and resetting the module registry by default.
- Added
--watchAll
, made--watch
interactive 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
testEnvironment
resolution to preferjest-environment-{name}
instead of{name}
only. This prevents a module colision when usingjsdom
as test environment. moduleNameMapper
now 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.global
to 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
collectCoverageFrom
to collect code coverage from untested files. - Rewritten code coverage support.
- Changed Jest's default cache directory.
- Fixed
jest-react-native
for react 15.3.0. - Updated react and react-native example to use
react-test-renderer
. - Started to refactor code coverage.
babel-jest
bugfix.
babel-jest
can now be used to compose a transformer.- Updated snapshot instructions to run
jest -u
ornpm test -- -u
. - Fixed
config
cli 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
,toBeCloseTo
were rewritten. - Rewrite of Jest's reporters.
- Experimental react-native support.
- Removed Jasmine 1 support from Jest.
- Transform caching improvements.
- Snapshot bugfixes.
- Timer bugfixes.
- Added
test
global function as an alias forit
. - Added
coveragePathIgnorePatterns
to the config. - Fixed printing of "JSX objects" in snapshots.
- Fixes for
--verbose
option and top levelit
calls. - 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
browser
config option to properly resolve npm packages with a browser field inpackage.json
if you are writing tests for client side apps - Added
jest-repl
. - Split up
jest-cli
intojest-runtime
andjest-config
. - Added a notification plugin that shows a test run notification using
--notify
. - Refactored
TestRunner
intoSearchSource
and 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
jest
package on npm. - Added
testRegex
to match for tests outside of specific folders. Deprecated bothtestDirectoryName
andtestFileExtensions
. it
can now return a Promise for async testing.pit
was deprecated.- Added
jest-resolve
as a standalone package based on the Facebook module resolution algorithm. - Added
jest-changed-files
as a standalone package to detect changed files in a git or hg repo. - Added
--setupTestFrameworkFile
to cli. - Added support for coverage thresholds. See https://jestjs.io/docs/configuration#coveragethreshold-object.
- Updated to jsdom 9.0.
- Updated and improved stack trace reporting.
- Added
module.filename
and removed the invalidmodule.__filename
field. - Further improved the
lastCalledWith
andtoBeCalledWith
custom 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-haste
asjest-haste-map
: jestjs#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
--silent
flag 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 -o
error 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
mockImplementationOnce
API 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-jsdom
packages. - Added
babel-jest-preset
andbabel-jest
as packages.babel-jest
is now being auto-detected. - Added
babel-plugin-jest-hoist
which hoistsjest.unmock
,jest.mock
and the newjest.enableAutomock
andjest.disableAutomock
API. - Improved
babel-jest
integration andreact-native
testing. - Improved code coverage reporting when using
babel-jest
. - Added the
jest.mock('moduleName', moduleFactory)
feature.jest.mock
now gets hoisted by default.jest.doMock
was 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,
--watch
will now only runs tests related to changed files.--watch=all
can be used to run all tests on file system changes. - Debounce
--watch
re-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
automock
option to turn off automocking globally. - Added a "no tests found" message if no tests can be found.
- Jest sets
process.NODE_ENV
totest
unless otherwise specified. - Fixed
moduleNameMapper
config 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
--onlyChanged
option. - Fixed support for running Jest as a git submodule.
- Improved verbose logger output
- Fixed test runtime error reporting and stack traces.
- Improved
toBeCalled
Jasmine 2 custom matcher messages. - Improved error reporting when a syntax error occurs.
- Renamed HasteModuleLoader to Runtime.
- Jest now properly reports pending tests disabled with
xit
andxdescribe
. - Removed
preprocessCachingDisabled
config option. - Added a
testEnvironment
option to customize the sandbox environment. - Added support for
@scoped/name
npm packages. - Added an integration test runner for Jest that runs all tests for examples and packages.
- Performance improvements.
- jest now uses
chalk
instead of its own colors implementation.
--bail
now 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
testRunner
config option. - Fixed mocking support for Map, WeakMap and Set.
node
was added to the defaults inmoduleFileExtensions
.- Updated the list of node core modules that are properly being recognized by the module loader.
- Correctly map
process.on
into 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
--logHeapUsage
to 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-haste
andmocks
virtual 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.onLine
andmockSetReadOnlyProperty
from the global jsdom environment. Usewindow.navigator.onLine = true;
in your test setup andObject.defineProperty
instead.
- 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.parent
field 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
--json
option 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).
toEqual
now 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
moduleNameMapper
config option. - Allow to specify a custom
testRunner
in the configuration (#531). - Added a
--no-cache
option 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
--watch
option (#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
Promise
implementation. testURL
can 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
Promise
implementation. - Fixed a bug when passed an empty
testPathIgnorePatterns
. - Moved preprocessor cache into the haste cache directory.
- Added
--noStackTrace
option 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.