jest-snapper
Introduction
jest-snapper
generates mock props for a given React component, based on it's propTypes
. Then it does a jest
snapshot test for the component. Think - one line snapshot tests for your react components.
Prerequisites
jest-snapper
assumes you run it through jest. It makes advantage of the built-in snapshot testing capability of jest.
Example
// __tests__/MyReactComponent.jsx; ;
Installation
yarn add jest-snapper
API
test
test
will infer propTypes from your component's props and run a snapshot test with deterministic values.
examples:
// Example 1: jest-snapper will generate props for you; // Example 2: You can selectively assign your own props; // Example 3: Setting `state` will trigger a `this.setState`// before the snapshot is taken.;
Caveats
To minimize the effort needed to introduce this library to an existing codebase, I've made the decision to inject fake data generators (yes, like a cowboy) into PropTypes
. This is a spartan solution, but works well. This is an area for possible future improvement.
Todo
- Add multiple test permutations for
oneOf
andoneOfType
propTypes - Expose mock data generator and allow the user to override it
- Support better Typescript Typings