Creating a Jest matcher using TDD
In our tests so far, we’ve used a variety of matchers. These functions tack on to the end of the expect
function call:
expect(appointmentTable()).not.toBeNull();
In this section, you’ll build a matcher using a test-driven approach to make sure it’s doing the right thing. You’ll learn about the Jest matcher API as you build your test suite.
You’ve seen quite a few matchers so far: toBeNull
, toContain
, toEqual
, and toHaveLength
. You’ve also seen how they can be negated with not
.
Matchers are a powerful way of building expressive yet concise tests. You should take some time to learn all the matchers that Jest has to offer.
Jest matcher libraries
There are a lot of different matcher libraries available as npm packages. Although we won’t use them in this book (since we’re building everything up from first principles), you should make use of these libraries. See the Further reading...