@giancosta86/more-jest v4.1.0
more-jest
TypeScript utilities for Jest
more-jest is a TypeScript library providing enhanced TypeScript support for Jest.
Installation
The package on NPM is:
@giancosta86/omnicourse
The public API entirely resides in the root package index, so you shouldn't reference specific modules.
Matchers
To use the matchers provided by more-jest within a project, one needs to:
Add the following attribute to the object exported by
jest.config.js:setupFilesAfterEnv: ["@giancosta86/more-jest/dist/all"],Add this line to a
global.d.tsfile within the project root directory:import "@giancosta86/more-jest";Add
"./global.d.ts"to theincludearray intsconfig.json
Usage
Equality.addTesterFor(classType)
Takes a parameter of class T containing a method defined as:
equals(other: T): boolean {}and registers into Jest an equality tester that:
returns
undefinedif either equality operand is not an instance of classTotherwise, returns calls
optionalEquals()as defined by @giancosta86/swanlake
Equality.test
Runs a suite of equality-related tests, inside a describe block having title «equality».
It takes the following parameters:
a factory used to create a reference object and its equal copies
a factory used to create a different object, not equal to the reference instance
Comparison.test
Runs a suite of comparison-related tests based on a Comp algorithm, within a «comparison» describe block.
It takes an object with the following parameters:
comp: theCompobject to be testedscrambledItems: the items in any chaotic statesortedItems: the items in the expected order
Matchers
.toBeTrimmed(): expects that a string be trimmed.toEqualSequence(expected): expects that an iterable has the same items, in the same order, as the given iterable. The iterables can be of different types.toHaveSameJson(expected): expects that a value be serialized to JSON as the given object
See also
more-jest-io - this library's I/O-related counterpart
jest-extended - Additional Jest matchers
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago