πŸ‡©πŸ‡ͺ Berlin relocation Guide - 2024

How to receive a German Tax number, open bank account, apply for a Blue Card, setup German health insurance? What additional insurance do you need? How to get a local phone number? Many more is covered!

Get it on Udemy
HomeBlogAbout
  • home
  • blog
  • about
  • cv

homeblogaboutgithublinkedinyoutube
Β© 2026 Oleksandr Hrishchuk Berlin, Germany πŸ‡©πŸ‡ͺ

More readable Jest + Enzyme tests assertions with jest-enzyme

November 19, 2019

When you're using Jest as a JavaScript Testing Framework for your React projects there is a high chance that you're using Jest in conjunction with Enzyme.

Enzyme is a popular JavaScript Testing utilities for React from Airbnb and de facto is a standard testing library withing the React community. Of course, there are some alternatives like react-testing-library but Enzyme us more popular.

If Jest + Enzyme works very well already, why bother and installing something else additionally?

Welcome Enzyme-matchers

Enzyme-matchers - is a set of Jest assertions for the enzyme to simplify your tests and make them more readable.

It has a package called jest-enzyme. That's what we need.

Reasons to use jest-enzyme

  • better tests readability
  • more comfortable (Enzyme doesn’t have all the handy assertions)

  • shorter (less code to write)
  • more specific error output (not general)

Assertions I use the most from the jest-enzyme

"

Not all assertions work with every rendering strategy. If you are wondering what rendering mechanism to use when, refer to enzyme's documentation.

"

I'm using full mount for most of my unit tests so these assertions work with it.

  • toBeChecked()
  • toBeDisabled()
  • toBeEmptyRender()
  • toExist()
  • toHaveProp()
  • toHaveText()
  • toIncludeText()
  • toHaveValue()

How to setup jest-enzyme?

Step 1. Install jest-enzyme package to your package.json

Note: there is a Setup documentation in the docs but I'm doing setup differently.

Depends which package manager you use Yarn or NPM from the project root execute add jest-enzyme to your devDependencies:

yarn add -D jest-enzyme # install with Yarn

npm i jest-enzyme --save-dev # install with NPM

Step 2. Configure jest-enzyme

In your jest.config.js file add property:

// jest.config.js
module.exports = {
  setupFilesAfterEnv: ['./jest/setupTestFramework.js']
}

// or in the package.json
{
  "jest": {
     "setupFilesAfterEnv": ['./jest/setupTestFramework.js'],
  }
}

Step 3. Create setupTestFramework file

In the project root create a folder called jest with a file inside called setupTestFramework.js so you'll have a file structure like ./jest/setupTestFramework.js.

Step 4. Import jest-enzyme in the setupTestFramework file

Your setupTestFramework might look like that. Please include import 'jest-enzyme' line in it.

// ./jest/setupTestFramework.js
import { configure } from 'enzyme'
import Adapter from 'enzyme-adapter-react-16'
import 'jest-enzyme'

configure({ adapter: new Adapter() })

That's it! Now you can use better assertions form the jest-enzyme πŸ™‚

jest-enzyme is a great addition to your React testing toolkit. It is not necessarily aiming at replacing Enzyme but a nice addition to it.

← Previous
Switching from the GitHub Pages to Zeit Now deployment
Next β†’
Start using Yarn v2 codename berry today