Security News
JavaScript Leaders Demand Oracle Release the JavaScript Trademark
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
@jest/core
Advanced tools
The @jest/core package is the core engine of Jest, a popular JavaScript testing framework. It provides the functionality necessary to run tests, including the test runner, test watcher, and the ability to configure and initialize tests. It is designed for developers who need to write and run tests for their JavaScript code, offering a powerful and flexible testing environment.
Running tests
This feature allows you to programmatically run your tests using Jest. You can specify options and projects to run tests on, making it flexible for different testing scenarios.
jest.runCLI(options, projects).then(result => { console.log('Tests completed'); });
Configuring Jest
This feature enables you to read and manipulate Jest's configuration programmatically. It's useful for custom setups or when integrating Jest into other tools.
const { readConfig } = require('@jest/core');
readConfig(argc, argv).then(config => { console.log('Jest config:', config); });
Using the TestWatcher
The TestWatcher API allows you to listen to events related to the test lifecycle, such as when a test starts or finishes. This is useful for implementing custom behaviors or integrations.
const { TestWatcher } = require('@jest/core');
const watcher = new TestWatcher({ isWatchMode: true });
watcher.on('test_start', test => { console.log('Test started:', test.name); });
Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple. It's similar to @jest/core in providing a testing framework, but differs in its interface and default behavior, such as having a different assertion library by default (Chai) and not including a mocking library.
Jasmine is a behavior-driven development framework for testing JavaScript code. It does not require a DOM, and it has a clean, obvious syntax so that you can easily write tests. Compared to @jest/core, Jasmine is more focused on the BDD aspect and comes with an assertion library out of the box, whereas Jest provides more utilities for mocking and spying.
AVA is a test runner for Node.js with a concise API, detailed error output, and process isolation for concurrent tests. It's designed to be fast and comes with built-in support for ES6. Unlike @jest/core, AVA emphasizes minimalism and parallel test execution, which can lead to faster test runs for certain projects.
Jest is currently working on providing a programmatic API. This is under development, and usage of this package directly is currently not supported.
24.9.0
[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 (#8665)[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]
Allow maxWorkers
as part of the jest.config.js
(#8565)[jest-runtime]
Allow passing configuration objects to transformers (#7288)[@jest/core, @jest/test-sequencer]
Support async sort in custom testSequencer
(#8642)[jest-runtime, @jest/fake-timers]
Add jest.advanceTimersToNextTimer
(#8713)[@jest-transform]
Extract transforming require logic within jest-core
into @jest-transform
(#8756)[jest-matcher-utils]
Add color options to matcherHint
(#8795)[jest-circus/jest-jasmine2]
Give clearer output for Node assert errors (#8792)[jest-runner]
Export all types in the type signature of jest-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 incorrect passWithNoTests
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 to jest.requireActual
(#8482)[docs]
Add example to jest.mock
for mocking ES6 modules with the factory
parameter (#8550)[docs]
Add information about using jest.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]
Add getVersion
(moved from jest-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 WatchPlugins jestHooks.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)FAQs
Delightful JavaScript Testing.
The npm package @jest/core receives a total of 19,041,714 weekly downloads. As such, @jest/core popularity was classified as popular.
We found that @jest/core demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 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.
Security News
In an open letter, JavaScript community leaders urge Oracle to give up the JavaScript trademark, arguing that it has been effectively abandoned through nonuse.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.