Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@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.
29.1.0
[expect, @jest/expect]
Support type inference for function parameters in CalledWith
assertions (#13268)[expect, @jest/expect]
Infer type of *ReturnedWith
matchers argument (#13278)[@jest/environment, jest-runtime]
Allow jest.requireActual
and jest.requireMock
to take a type argument (#13253)[@jest/environment]
Allow jest.mock
and jest.doMock
to take a type argument (#13254)[@jest/fake-timers]
Add jest.now()
to return the current fake clock time (#13244, #13246)[@jest/mock]
Add withImplementation
method for temporarily overriding a mock (#13281)[expect]
Export toThrow*
matchers (#13328)[jest-circus, jest-jasmine2]
Fix error messages for Node's assert.throes
(#13322)[jest-haste-map]
Remove __proto__
usage (#13256)[jest-mock]
Improve spyOn
typings to handle optional properties (#13247)[jest-mock]
Fix mocking of getters and setters on classes (#13145)[jest-snapshot]
Throw useful error when an array is passed as property matchers (#13263)[jest-snapshot]
Prioritize parser used in the project (#13323)[jest-transform]
Attempt to work around issues with atomic writes on Windows (#11423)FAQs
Delightful JavaScript Testing.
The npm package @jest/core receives a total of 18,124,089 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
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.