Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
jest-matcher-utils
Advanced tools
The jest-matcher-utils package provides utility functions for creating custom Jest matchers. It is designed to help developers write their own matchers that integrate seamlessly with Jest's built-in expectation system, offering a way to extend Jest's assertion capabilities with custom logic. The utilities provided by this package include formatting values for error messages, comparing values, and generating matcher error messages.
pretty-format
Formats any JavaScript value for pretty printing, which is useful for generating readable error messages in custom matchers.
const { prettyFormat } = require('jest-matcher-utils');
console.log(prettyFormat({ foo: 'bar' }));
matcherHint
Generates a hint string for a matcher, which can be used at the beginning of error messages to indicate which matcher failed.
const { matcherHint } = require('jest-matcher-utils');
console.log(matcherHint('.toBe'));
printExpected and printReceived
These functions format the expected and received values to be included in error messages, applying color highlighting to improve readability.
const { printExpected, printReceived } = require('jest-matcher-utils');
console.log(`Expected: ${printExpected(true)}
Received: ${printReceived(false)}`);
Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It offers similar functionality to jest-matcher-utils in the sense that it provides a rich set of assertions and plugins to extend its capabilities. However, Chai is a standalone assertion library, not tied to any specific test runner like Jest.
Expect is a minimalist assertion library that comes with Jest but can also be used independently. It provides a similar API for writing test assertions as jest-matcher-utils, but jest-matcher-utils focuses more on the utilities for creating custom matchers rather than providing a comprehensive set of built-in matchers.
24.0.0
[jest-each]
[BREAKING] Add primitive pretty printing for interpolated titles (#7694)[jest-runtime]
Add jest.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] Replace diff
with diff-sequences
package (#6961)[jest-cli]
[BREAKING] Only set error process error codes when they are non-zero (#7363)[jest-config]
[BREAKING] Deprecate setupTestFrameworkScriptFile
in favor of new setupFilesAfterEnv
(#7119)[jest-worker]
[BREAKING] Add functionality to call a setup
method in the worker before the first call and a teardown
method when ending the farm (#7014)[jest-config]
[BREAKING] Set default notifyMode
to failure-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 in HasteMap.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 over global{Setup,Teardown}
(#7562)[jest-haste-map]
Add hasteFS.getSize(path)
(#7580)[jest-cli]
Print version ending in -dev
when running a local Jest clone (#7582)[jest-cli]
Add Support for globalSetup
and globalTeardown
in projects (#6865)[jest-runtime]
Add extraGlobals
to config to load extra global variables into the execution vm (#7454)[jest-util]
Export specialChars
containing Unicode characters and ANSI escapes for console output (#7532)[jest-config]
Handle typescript (ts
and tsx
) by default (#7533)[jest-validate]
Add support for comments in package.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]
Add getFileIterator
to HasteFS
for faster file iteration (#7010)[jest-config]
Add readConfigs
function, previously in jest-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]
If require
fails without a file extension, print all files that match with one (#7160)[jest-haste-map]
Make ignorePattern
optional (#7166)[jest-haste-map]
Add getCacheFilePath
to get the path to the cache file for a HasteMap
instance (#7217)[jest-runtime]
Remove cacheDirectory
from ignorePattern
for HasteMap
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 for testRegex
(#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]
Add jest.getTimerCount()
to get the count of scheduled fake timers (#7285)[jest-config]
Add dependencyExtractor
option to use a custom module to extract dependencies from files (#7313, #7349, #7350, #7362)[jest-haste-map]
Accept a getCacheKey
method in hasteImplModulePath
modules to reset the cache when the logic changes (#7350)[jest-config]
Add haste.computeSha1
option to compute the sha-1 of the files in the haste map (#7345)[expect]
expect(Infinity).toBeCloseTo(Infinity)
Treats Infinity
as equal in toBeCloseTo matcher (#7405)[jest-worker]
Add node worker-thread support to jest-worker (#7408)[jest-config]
Allow bail
setting to be configured with a number allowing tests to abort after n
of failures (#7335)[jest-config]
Allow % based configuration of --max-workers
(#7494)[jest-runner]
Instantiate the test environment class with the current testPath
(#7442)[jest-config]
Always resolve jest-environment-jsdom from jest-config (#7476)[expect]
Improve report when assertion fails, part 6 (#7621)[jest-worker]
Add enableWorkerThreads
option to explicitly opt-in to worker_threads
if available (#7681)[expect]
Accept inherited properties in toHaveProperty
matcher (#7686)[jest-diff]
Do not claim that -0
and 0
have no visual difference (#7605)[jest-mock]
Fix automock for numeric function names (#7653)[jest-config]
Ensure existsSync
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 use text-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 in expect
(#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 without Object.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 using changedSince
(#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 async assert
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 for xit
and fit
(#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 to changedSince
(#7115)[jest-config]
Moved dynamically assigned cwd
from jest-cli
to default configuration in jest-config
(#7146)[jest-config]
Fix getMaxWorkers
on termux (#7154)[jest-runtime]
Throw an explicit error if js
is missing from moduleFileExtensions
(#7160)[jest-runtime]
Fix missing coverage when using negative glob pattern in testMatch
(#7170)[*]
Ensure maxWorkers
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 using lastCommit=true
on Mercurial repositories (#7228)[babel-jest]
Cache includes babel environment variables (#7239)[jest-config]
Use strings instead of RegExp
instances in normalized configuration (#7251)[jest-circus]
Make sure to display real duration even if time is mocked (#7264)[expect]
Improves the failing message for toStrictEqual
matcher. (#7224)[expect]
Improves the failing message for toEqual
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 with Object.create(null)
(#7334)[jest-haste-map]
Remove legacy condition for duplicate module detection (#7333)[jest-haste-map]
Fix require
detection with trailing commas and ignore import 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]
Fix requireActual
on node_modules with mock present (#7404)[jest-resolve]
Fix isBuiltinModule
to support versions of node without module.builtinModules
(#7565)[babel-jest]
Set cwd
to be resilient to it changing during the runtime of the tests (#7574)[jest-snapshot]
Write and read snapshots from disk even if fs
is mocked (#7080)[jest-config]
Normalize config.cwd
and config.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]
Pass watchPathIgnorePatterns
to Haste instance (#7585)[jest-runtime]
Resolve mock files via Haste when using require.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]
Disable worker_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 in jest-circus
(#7301)[docs]
Add synchronous test.each setup (#7150)[docs]
Add this.extend
to the Custom Matchers API reference (#7130)[docs]
Fix default value for coverageReporters
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 in ExpectAPI.md
(#6991)[jest-changed-files]
Refactor to use execa
over child_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 in puppeteer_environment.js
under docs/Puppeteer.md
(#7127)[docs]
Removed useless expect.assertions in TestingAsyncCode.md
(#7131)[docs]
Remove references to @providesModule
which isn't supported anymore (#7147)[docs]
Update setupFiles
documentation for clarity (#7187)[docs]
Change require.require*
to jest.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 for testUrl
config option (#7277)[docs]
Remove duplicate code in MockFunctions
(#7297)[*]
Add check for Facebook copyright headers on CI (#7370)[*]
Update Facebook copyright headers (#7589)[jest-haste-map]
Refactor dependencyExtractor
and tests (#7385)[docs]
Clearify conditional setting of NODE_ENV
(#7369)[docs]
Clarify conditional setting of NODE_ENV
(#7369)[*]
Standardize file names (#7316, #7266, #7238, #7314, #7467, #7464), #7471)[docs]
Add testPathIgnorePatterns
in CLI documentation (#7440)[docs]
Removed misleading text about describe()
grouping together tests into a test suite (#7434)[diff-sequences]
Add performance benchmark to package (#7603)[*]
Replace as many Object.assign
with object spread as possible (#7627)[ci]
Initial support for Azure Pipelines (#7556)[jest-mock]
Improve getType
function performance. (#7159)FAQs
A set of utility functions for expect and related packages
The npm package jest-matcher-utils receives a total of 12,835,882 weekly downloads. As such, jest-matcher-utils popularity was classified as popular.
We found that jest-matcher-utils demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.