A dead simple library to screenshot test React components. Under the hood, we start a local server that renders components server-side. Each component is given its own dedicated page (e.g. /render/my-component). Then we use Puppeteer to take a screenshot of that page. If you work on a team where developers use a different OS (e.g. Mac OS and Linux), or if you develop on Mac OS but use Linux for continuous integration, you would quickly run into issues where screenshots are inconsistent across platforms. This is, for better or worse, expected behavior. In order to work around this issue, react-screenshot-test will default to running Puppeteer (i.e. Chrome) inside Docker to take screenshots of your components. This ensures that generated screenshots are consistent regardless of which platform you run your tests on.
Features
- Cross-platform consistency
- CSS support
- CSS-in-JS libraries such as Emotion and Styled Components are supported
- Storing image snapshots
- Usage with create-react-app
- Usage with Percy
- TypeScript support