What is should-enzyme: An library of extension functions for ShouldJS and a wrapper round Enzyme.

Why use it: Make it easier to test ReactJS components, improve readability of asserts and provide better error messaging on failing tests.

Should-Enzyme API in the read me on Github and is an NPM package.

Setup

You need EnzymeJS and ShouldJS installed to use Should Enzyme.

Install: npm i should-enzyme --save-dev

import "should";
import "should-enzyme";

Here is an example extension function to test if a CSS class is in the className string value.

className(string)

render mount shallow
yes yes yes

Check to see if wrapper has CSS class.

import React from "react";
import { mount, render, shallow } from "enzyme";

const ClassNameFixture = () => (
  <div className="special burger">Content here</div>
);

const wrapper = mount(<ClassNameFixture />);

wrapper.should.have.className("special");
wrapper.should.not.have.className("pizza");