Research
Security News
Threat Actor Exposes Playbook for Exploiting npm to Build Blockchain-Powered Botnets
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
The 'expect' npm package is a library for writing test assertions. It is commonly used in conjunction with testing frameworks like Jest or Mocha to validate the behavior of JavaScript code. It provides a range of assertion types and matchers that allow developers to write expressive and readable tests.
Basic Assertions
This feature allows you to assert that a value matches exactly what you expect. The 'toBe' matcher compares with ===.
expect(2 + 2).toBe(4);
Object Property Assertions
With this feature, you can assert that an object has a specific property with a certain value. The 'toHaveProperty' matcher checks for the existence and value of a property in an object.
expect({ name: 'Alice', age: 30 }).toHaveProperty('name', 'Alice');
Exception Testing
This feature is used to test if a function throws an exception when it is executed. The 'toThrow' matcher is used to assert that an error is thrown with a specific message.
expect(() => { throw new Error('failure'); }).toThrow('failure');
Array Containment
This feature allows you to assert that an array contains a specific item. The 'toContain' matcher checks if an array includes the expected item.
expect(['Alice', 'Bob', 'Eve']).toContain('Bob');
Asynchronous Assertions
This feature enables you to write assertions for asynchronous code. The 'resolves' matcher waits for a promise to resolve and then checks the resolved value.
expect(Promise.resolve('success')).resolves.toBe('success');
Chai is a BDD/TDD assertion library for node and the browser that can be paired with any javascript testing framework. It offers a similar range of matchers and assertions as expect, and it provides a fluent chainable language to construct assertions.
Should.js is an expressive, readable, framework-agnostic assertion library. The key difference is in the style of assertions it offers, using a more fluent chainable API that reads like English.
Assert is a module that provides a set of assertion functions for verifying invariants. It is built into Node.js and is less feature-rich compared to expect, but it serves as a simple way to write assertions in a Node.js environment.
Jest is a delightful JavaScript Testing Framework with a focus on simplicity. It comes with its own assertion library, which provides functionality similar to expect, as expect is actually part of Jest.
jest 22.0.0
[jest-resolve]
Use module.builtinModules
as BUILTIN_MODULES
when it exists[jest-worker]
Remove debug
and inspect
flags from the arguments sent to the child (#5068)[jest-config]
Use all --testPathPattern
and <regexForTestFiles>
args in testPathPattern
(#5066)[jest-cli]
Do not support --watch
inside non-version-controlled environments (#5060)[jest-config]
Escape Windows path separator in testPathPattern CLI arguments (#5054)[jest-jasmine]
Register sourcemaps as node environment to improve performance with jsdom (#5045)[pretty-format]
Do not call toJSON recursively (#5044)[pretty-format]
Fix errors when identity-obj-proxy mocks CSS Modules (#4935)[babel-jest]
Fix support for namespaced babel version 7 (#4918)[expect]
fix .toThrow for promises (#4884)[jest-docblock]
pragmas should preserve urls (#4837)[jest-cli]
Check if npm_lifecycle_script
calls Jest directly (#4629)[jest-cli]
Fix --showConfig to show all configs (#4494)[jest-cli]
Throw if maxWorkers
doesn't have a value (#4591)[jest-cli]
Use fs.realpathSync.native
if available (#5031)[jest-config]
Fix --passWithNoTests
(#4639)[jest-config]
Support rootDir
tag in testEnvironment (#4579)[jest-editor-support]
Fix --showConfig
to support jest 20 and jest 21 (#4575)[jest-editor-support]
Fix editor support test for node 4 (#4640)[jest-mock]
Support mocking constructor in mockImplementationOnce
(#4599)[jest-runtime]
Fix manual user mocks not working with custom resolver (#4489)[jest-util]
Fix runOnlyPendingTimers
for setTimeout
inside setImmediate
(#4608)[jest-message-util]
Always remove node internals from stacktraces (#4695)[jest-resolve]
changes method of determining builtin modules to include missing builtins (#4740)[pretty-format]
Prevent error in pretty-format for window in jsdom test env (#4750)[jest-resolve]
Preserve module identity for symlinks (#4761)[jest-config]
Include error message for preset
json (#4766)[pretty-format]
Throw PrettyFormatPluginError
if a plugin halts with an exception (#4787)[expect]
Keep the stack trace unchanged when PrettyFormatPluginError
is thrown by pretty-format (#4787)[jest-environment-jsdom]
Fix asynchronous test will fail due to timeout issue. (#4669)[jest-cli]
Fix --onlyChanged
path case sensitivity on Windows platform (#4730)[jest-runtime]
Use realpath to match transformers (#5000)[expect]
[BREAKING] Replace identity equality with Object.is in toBe matcher (#4917)[jest-message-util]
Add codeframe to test assertion failures (#5087)[jest-config]
Add Global Setup/Teardown options (#4716)[jest-config]
Add testEnvironmentOptions
to apply to jsdom options or node context. (#5003)[jest-jasmine2]
Update Timeout error message to jest.timeout
and display current timeout value (#4990)[jest-runner]
Enable experimental detection of leaked contexts (#4895)[jest-cli]
Add combined coverage threshold for directories. (#4885)[jest-mock]
Add timestamps
to mock state. (#4866)[eslint-plugin-jest]
Add prefer-to-have-length
lint rule. (#4771)[jest-environment-jsdom]
[BREAKING] Upgrade to JSDOM@11 (#4770)[jest-environment-*]
[BREAKING] Add Async Test Environment APIs, dispose is now teardown (#4506)[jest-cli]
Add an option to clear the cache (#4430)[babel-plugin-jest-hoist]
Improve error message, that the second argument of jest.mock
must be an inline function (#4593)[jest-snapshot]
[BREAKING] Concatenate name of test and snapshot (#4460)[jest-cli]
[BREAKING] Fail if no tests are found (#3672)[jest-diff]
Highlight only last of odd length leading spaces (#4558)[jest-docblock]
Add docblock.print()
(#4517)[jest-docblock]
Add strip
(#4571)[jest-docblock]
Preserve leading whitespace in docblock comments (#4576)[jest-docblock]
remove leading newlines from parswWithComments().comments
(#4610)[jest-editor-support]
Add Snapshots metadata (#4570)[jest-editor-support]
Adds an 'any' to the typedef for updateFileWithJestStatus
(#4636)[jest-editor-support]
Better monorepo support (#4572)[jest-environment-jsdom]
Add simple rAF polyfill in jsdom environment to work with React 16 (#4568)[jest-environment-node]
Implement node Timer api (#4622)[jest-jasmine2]
Add testPath to reporter callbacks (#4594)[jest-mock]
Added support for naming mocked functions with .mockName(value)
and .mockGetName()
(#4586)[jest-runtime]
Add module.loaded
, and make module.require
not enumerable (#4623)[jest-runtime]
Add module.parent
(#4614)[jest-runtime]
Support sourcemaps in transformers (#3458)[jest-snapshot]
[BREAKING] Add a serializer for jest.fn
to allow a snapshot of a jest mock (#4668)[jest-worker]
Initial version of parallel worker abstraction, say hello! (#4497)[jest-jasmine2]
Add testLocationInResults
flag to add location information per spec to test results (#4782)[jest-environment-jsdom]
Update JSOM to 11.4, which includes built-in support for requestAnimationFrame
(#4919)[jest-cli]
Hide watch usage output when running on non-interactive environments (#4958)[jest-snapshot]
Promises support for toThrowErrorMatchingSnapshot
(#4946)[jest-cli]
Explain which snapshots are obsolete (#5005)[docs]
Add guide of using with puppeteer (#5093)[jest-util]
jest-util
should not depend on jest-mock
(#4992)[*]
[BREAKING] Drop support for Node.js version 4 (#4769)[docs]
Wrap code comments at 80 characters (#4781)[eslint-plugin-jest]
Removed from the Jest core repo, and moved to https://github.com/jest-community/eslint-plugin-jest (#4867)[babel-jest]
Explicitly bump istanbul to newer versions (#4616)[expect]
Upgrade mocha and rollup for browser testing (#4642)[docs]
Add info about coveragePathIgnorePatterns
(#4602)[docs]
Add Vuejs series of testing with Jest (#4648)[docs]
Mention about optional done
argument in test function (#4556)[jest-cli]
Bump node-notifier version (#4609)[jest-diff]
Simplify highlight for leading and trailing spaces (#4553)[jest-get-type]
Add support for date (#4621)[jest-matcher-utils]
Call chalk.inverse
for trailing spaces (#4578)[jest-runtime]
Add .advanceTimersByTime
; keep .runTimersToTime()
as an alias.[docs]
Include missing dependency in TestEnvironment sample code[docs]
Add clarification for hook execution order[docs]
Update expect.anything()
sample code (#5007)FAQs
This package exports the `expect` function used in [Jest](https://jestjs.io/). You can find its documentation [on Jest's website](https://jestjs.io/docs/expect).
The npm package expect receives a total of 22,440,652 weekly downloads. As such, expect popularity was classified as popular.
We found that expect demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 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
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.
Security News
NVD’s backlog surpasses 20,000 CVEs as analysis slows and NIST announces new system updates to address ongoing delays.
Security News
Research
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.