Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
The jest-cli npm package is the command line interface for Jest, a popular JavaScript testing framework. It allows developers to run tests, configure Jest options, and interact with Jest directly from the command line. Jest is widely used for testing React applications, but it can also be used for testing other JavaScript code.
Running Tests
Run all tests in a project. This is the most basic and commonly used command to start the Jest test runner.
jest
Running Tests in Watch Mode
Run Jest in watch mode. This command will re-run tests when files change, which is useful during development.
jest --watch
Running Specific Tests
Run tests in a specific file or files matching a pattern. This allows for more targeted testing.
jest testFileName
Configuring Jest
Specify a configuration file for Jest. This allows developers to customize how Jest behaves, including setting up test environments, mock implementations, and more.
jest --config=jest.config.js
Coverage Reporting
Generate a test coverage report. This helps developers understand which parts of their codebase are covered by tests.
jest --coverage
Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple. It's often compared to Jest but is considered more flexible and less opinionated, though it requires more setup and configuration.
Jasmine is a behavior-driven development framework for testing JavaScript code. It does not require a DOM and has no dependencies, making it suited for websites, Node.js projects, or anywhere JavaScript can run. It's similar to Jest but has a different syntax and set of features.
AVA is a test runner for Node.js with a concise API, detailed error output, and process isolation that lets you develop with confidence. It's different from Jest in that it runs tests concurrently, which can be faster, but it may not be as feature-rich as Jest.
Tape is a tap-producing test harness for Node.js and browsers. It's minimalistic and straightforward, with less abstraction than Jest. It's suitable for small to medium-sized projects that don't need the extensive features Jest provides.
Painless JavaScript Unit Testing
Familiar Approach: Built on top of Jasmine test framework, a familiar BDD testing environment
Mock by Default: Automatically mocks CommonJS modules returned by require(), making most existing code testable
Short Feedback Loop: DOM APIs are mocked and tests run in parallel via a small node.js command line utility
Check out the Getting Started tutorial. It's pretty simple!
<generated_api_start />
jest
objectjest.autoMockOff()
jest.autoMockOn()
jest.clearAllTimers()
jest.dontMock(module)
jest.genMockFromModule(moduleObj)
jest.genMockFunction()
jest.genMockFn()
jest.mock(moduleName)
jest.runAllTicks()
jest.runAllTimers()
jest.runOnlyPendingTimers()
jest.setMock(moduleName, moduleExports)
mockFn.mock.calls
mockFn.mock.instances
mockFn.mockClear()
mockFn.mockImplementation(fn)
mockFn.mockImpl(fn)
mockFn.mockReturnThis()
mockFn.mockReturnValue(value)
mockFn.mockReturnValueOnce(value)
config.collectCoverage
[boolean]config.collectCoverageOnlyFrom
[object]config.modulePathIgnorePatterns
[array]config.rootDir
[string]config.scriptPreprocessor
[string]config.setupEnvScriptFile
[string]config.setupTestFrameworkScriptFile
[string]config.testFileExtensions
[array]config.testPathDirs
[array]config.testPathIgnorePatterns
[array]config.unmockedModulePathPatterns
[array]jest
require(module)
require.requireActual(module)
describe(name, fn)
beforeEach(fn)
afterEach(fn)
it(name, fn)
it.only(name, fn)
executes only this test. Useful when investigating a failurepit(name, fn)
helper for promisesexpect(value)
.not
inverse the next comparison.toThrow(?message)
.toBe(value)
comparison using ===
.toEqual(value)
deep comparison. Use jasmine.any(type)
to be softer.toBeFalsy()
.toBeTruthy()
.toBeNull()
.toBeUndefined()
.toBeDefined()
.toMatch(regexp)
.toContain(string)
.toBeCloseTo(number, delta)
.toBeGreaterThan(number)
.toBeLessThan(number)
.toBeCalled()
.toBeCalledWith(arg, um, ents)
.lastCalledWith(arg, um, ents)
<generated_api_end />
FAQs
Delightful JavaScript Testing.
The npm package jest-cli receives a total of 4,589,275 weekly downloads. As such, jest-cli popularity was classified as popular.
We found that jest-cli 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
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.