Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
@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.
FAQs
Delightful JavaScript Testing.
The npm package @jest/core receives a total of 18,603,571 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
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.