The course is part of this learning path
This module looks at testing in React. You’ll learn how to set up a test environment, Jest, and other useful tools to test your React App.
The objectives of this module are to provide you with an understanding of:
- How to set up the test environment
- Snapshot testing
- How to test with Props
- How to mock components for testing
- Mock functions
- How to test components asynchronously
- How to test components with routing
- How to test custom hooks
This learning path is aimed at all who wish to learn how to use the ReactJS framework.
We welcome all feedback and suggestions - please contact us at firstname.lastname@example.org to let us know what you think.
Testing is an important part of any application's development. Understanding the testing tools for React is therefore an important part of the skillset. We'll look at the testing tools that are built into a project set up using create-react-app, including the Facebook Jest testing library and some other packages that can be used to help us test. We want to be able to unit test components, gaining an understanding of what to test, and how we can test it, including snapshots, DOM testing and event testing. To do this, we'll examine how a Jest test file is structured, and the building blocks we'll use, including suites, specs, setup and teardown. To be able to make appropriate assertions in tests we'll look at the inbuilt matches. For testing functionality, we'll examine mocking and spying on functions. And for unitization we'll visit mocking components. Test reporting is also an important aspect, so we'll demonstrate how code-coverage reports can be generated and viewed. As we're focusing on testing React, we won't be looking into any integration or end-to-end testing as this really doesn't concern the React code we write. We'll also point out what you should and shouldn't test, and why.
How to set up the Test Environment - Jest - The What and How of Testing in React - Snapshot Testing - Testing Components with Props - Mocking Components for Testing - Testing State Events Interactions - Mocking Functions - Testing Components Asynchronously - Testing Components with Routing - Testing Custom Hooks
About the Author