DEV Community

Cover image for Start Unit Testing Your Javascript with Jest
Simon Pfeiffer for Codesphere Inc.

Posted on • Updated on

Start Unit Testing Your Javascript with Jest

Most JavaScript developers either ignore or pay the least amount of attention to unit testing. Nevertheless, unit testing is crucial in weeding out issues before they drive away users.

While we can always do manual testing, it is massively more efficient to perform testing by using testing frameworks. In today’s article, we’ll start unit testing using one such framework.


What is Jest?

Jest is a popular JavaScript unit testing framework that is great for minimizing the setup time for testing. It employs matchers to perform testing on the JavaScript codebase. Matchers take in an expected value and compare it with the output of an expect function which takes JavaScript code as input.

Jest then provides a detailed result of the tests to help make debugging easier by pointing to the exact place where it encountered the error in most cases.


Matchers

Some of the matchers that Jest includes are:

  • toBe - For primitive data types to match by value.
  • toBeLessThanOrEqual -Checks that the output value is below a certain value.
  • toBeCloseTo - Primarily used to compare floating-point values. Since it doesn’t compare exact values it helps avoid false positives due to rounding errors.
  • toMatch - Used for matching with regular expressions.
  • toEqual - Just like the toBe matcher except that it is meant for reference data types such as objects.
  • toContain - As the name suggests it checks if a particular element exists inside a given reference type such as an array.

Setting up Our Project

To set up our project, we’re going to create a new node project with:
npm init

We can then install Jest with:
npm install —save-dev

Next, in our package.json we are going to add the following script:

Image description

Finally, we’ll create two files: functions.js and functions.test.js

In general, for each javascript you want to test, you can just create an additional file called .test.js
Using Jest in our Javascript Files

We can then implement Jest like so:


Running Jest

We can now run Jest with:
npm run test

And see the following output:

Image description


There you have it! We just set up our first test suite using Jest.

Once you’ve run your tests, fixed all your issues, and your code is ready to deploy, you can use Codesphere’s hassle-free cloud deployment. It takes just minutes to set up your project and have it live, so you can focus on the important task at hand: writing code.

Let us know what you’re building down below!

Top comments (3)

Collapse
 
oliverdjbrown profile image
Oliver Brown

excellent article

Collapse
 
mfurmaniuk profile image
Michael

Adding Jest into a Playwright Framework we are making at work, hadn't spent much time with it so this is nice to get a ground floor view of it.

Collapse
 
msucorey profile image
Corey Wofford

Me: 'matchers'??? no, that's not what those are called, exact term escapes me
-checks docs-
Me: TIL