0.0.3 • Published 1 year ago

jest-plugin-datapoints v0.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

jest-datapoints-plugin

This is a Jest plugin which adds a datapoints method to test and it. Its use is to provide a combinatorial test suite from user-provided data points. This, mixed with snapshots, provides high levels of coverage of the function under test at the cost of human verification of the results.

Example:

const suite = test.datapoints({
  a: [true, false],
  b: [true, false]
});

suite(({ a, b }) => {
  expect(a && b).toMatchSnapshot();
});

// Test suites can also have titles which use the `$<field>` syntax to use
// data point values in the name.
suite('a: $a, b: $b', ({ a, b }) => {
  expect(a && b).toMatchSnapshot();
});

The above example will create four test cases (the cartesian product of the datapoints) and the resulting snapshot will look something like:

exports[`snapshot {"a":false,"b":false} 1`] = `false`;

exports[`snapshot {"a":false,"b":true} 1`] = `false`;

exports[`snapshot {"a":true,"b":false} 1`] = `false`;

exports[`snapshot {"a":true,"b":true} 1`] = `true`;

Installation

$ yarn add --dev jest-plugin-datapoints

Add the plugin to your Jest configuration:

{
  "setupFilesAfterEnv": ["jest-plugin-datapoints"]
}

If you're using TypeScript, you can add jest-plugin-datapoints/types.d.ts to your types field in tsconfig.json. The values injected in the test case will be fully typed from the inputs provided to the datapoints function.

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago