Package Exports
- jest-each
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jest-each) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
jest-each
A parameterised testing library for Jest inspired by mocha-each.
jest-each allows you to provide multiple arguments to your test which results in the test being run once per row of parameters.
Features
- Parameterised test data
- Unique test titles with: sprintf
- Supports
test.skipto skip the parameterised tests - Supports
test.onlyto only run the parameterised tests - Supports asynchronous tests with
done
Installation
npm i --save-dev jest-each
yarn add -D jest-each
Importing
jest-each is a default export so it can be imported with whatever name you like.
// es6
import each from 'jest-each';
// es5
const each = require('jest-each');API
each([parameters]).test(title, testCallback)
each:
- parameters:
Arraythe arguments that are passed into thetestCallback
.test:
- title:
Stringthe title of thetest, use%sin the title string to positionally inject parameter values into the test title - testCallback:
Functionthe test logic, this is the function that will receive the parameters as function arguments
Usage
.test
import each from 'jest-each';
import add from './add';
each([
[1, 1, 2],
[1, 2, 3],
[2, 1, 3],
]).test('returns the result of adding %s to %s', (a, b, expected) => {
expect(add(a, b)).toBe(expected);
});.test.only
each([ [1, 1, 2] ]).test.only('returns the result of adding %s to %s', (a, b, expected) => {
expect(add(a, b)).toBe(expected);
});.test.skip
each([ [1, 1, 2] ]).test.skip('returns the result of adding %s to %s', (a, b, expected) => {
expect(add(a, b)).toBe(expected);
});asynchronous .test
each([
['hello'],
['mr'],
['spy'],
]).test('gives 007 secret message ', (str, done) => {
const asynchronousSpy = (message) => {
expect(message).toBe(str);
done();
};
callSomeAsynchronousFunction(asynchronousSpy)(str);
});License
MIT