Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
assertion-error
Advanced tools
Error constructor for test and validation frameworks that implements standardized AssertionError specification.
The assertion-error package is used to create error objects that are specifically meant for testing assertions. It is commonly used in conjunction with assertion libraries to provide a more descriptive error message when an assertion fails. The error object created by assertion-error includes a message and can also include properties that describe the assertion that failed.
Creating an AssertionError instance
This feature allows you to create an instance of an AssertionError with a custom message. This is useful when you want to throw a specific error in your tests when an assertion fails.
{"const AssertionError = require('assertion-error');
const error = new AssertionError('expected value to be true');
throw error;"}
Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework. It offers more comprehensive features for assertions compared to assertion-error, including a range of assertion styles (expect, should, assert) and numerous plugins.
Should.js is an expressive, readable, framework-agnostic assertion library. The key difference is that should.js provides a rich set of assertions and chainable methods to construct assertions, whereas assertion-error is focused on creating error objects for failed assertions.
Expect.js is a minimalistic BDD-style assertions library that can be used in node.js or in the browser. It provides a similar set of assertion checks as assertion-error but with a different API and additional features like chainable assertions.
AssertionError and AssertionResult classes.
Assertion Error is a module that contains two classes: AssertionError
, which
is an instance of an Error
, and AssertionResult
which is not an instance of
Error.
These can be useful for returning from a function - if the function "succeeds"
return an AssertionResult
and if the function fails return (or throw) an
AssertionError
.
Both AssertionError
and AssertionResult
implement the Result
interface:
interface Result {
name: "AssertionError" | "AssertionResult";
ok: boolean;
toJSON(...args: unknown[]): Record<string, unknown>;
}
So if a function returns AssertionResult | AssertionError
it is easy to check
which one is returned by checking either .name
or .ok
, or check
instanceof Error
.
assertion-error
is available on npm.
$ npm install --save assertion-error
assertion_error
is available on
Deno.land
import {
AssertionError,
AssertionResult,
} from "https://deno.land/x/assertion_error@2.0.0/mod.ts";
FAQs
Error constructor for test and validation frameworks that implements standardized AssertionError specification.
The npm package assertion-error receives a total of 15,401,370 weekly downloads. As such, assertion-error popularity was classified as popular.
We found that assertion-error 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 malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.