jest-each-table
v2.0.0
Published
Create a test-case table for use with Jest's test.each tagged template literal
Downloads
15,606
Readme
jest-each-table
Take advantage of jest's test.each
tagged template literal functionality
without needing to hardcode the test-cases as template literals.
Usage
import createTestTable from 'jest-each-table';
const testcases = createTestTable(
[...Array(10)].map((_, i) => ({
inputs: { left: i, right: i },
output: i + i
}))
);
const testsuite = test.each(...testcases);
testsuite('$inputs.left + $inputs.right = $output', ({ inputs, output }) => {
expect(inputs.left + inputs.right).toBe(output);
});
Context
Jest's test.each
functionality can be used in two ways:
test.each
(function): This allows anArray
ofArrays
with the arguments that are passed into the test fn for each row.test.each
(tagged template literal): This allows a table of test-cases to be defined as an ES2015 string template.
Unfortunately test.each
(the function) uses printf
formatting for creating
the test title which has serious drawbacks compared to how the title is
formatted using test.each
(the tagged template literal) which supports
$variable
.