Unit Testing React, Redux, Selectors, and Epics

How does unit testing work for front-end React-based applications in 2017?
Testing React Components
Components can be tested with snapshot testing. Tools like Jest (often combined with Enzyme) that offer this functionality take a ‘snapshot’ of what your component renders–everything from divs, attributes, classNames, props, and state–and saves it to a file, kind of like this:

On subsequent test runs, Jest takes a new snapshot to compare it with the old and breaks if the two don’t match, preventing any unintended changes to the rendering of your component. It’s not perfect, since you can’t really do true test-driven-development where you make a failing test first then fix it, so you just have to trust that your initial snapshot is correct, but it’s really quick and easy:
import React from ‘react’;
import Link from ‘../Link.react’;
import renderer from ‘react-test-renderer’;

it(‘renders correctly’, () => {
const tree = renderer.create(

Link: http://blog.rangle.io/unit-testing-react-redux-selectors-and-epics/