React Testing Library with Jest / Vitest
What you'll learn
- Testing simple and complex React applications with React Testing Library
- React Testing best Practices: how to test behavior instead of implementation
- Making the most of Jest watch mode, including running only one file or test at a time
- Common errors returned by Testing Library and how to correct them
- Test-Driven Development: writing tests alongside production code, to ensure thorough test coverage
- Basic experience with React
- Familiarity with React hooks and context (these are explained briefly in optional React portions of the course; however previous experience would be helpful)
Major course updates in November 2023!
Projects are written in Vite, a lightweight and lightning-fast base for React apps
Projects use Vitest, a test framework that's much faster than Jest
Note: Vitest code syntax is identical to Jest; all code presented in the course works with both Vitest and Jest.
The course presents Mock Service Worker v2 syntax, which was released in October 2023.
React Testing Library has become an extremely popular option for testing React, and with good reason! This detailed, comprehensive course provides a solid foundation for React app tests.
React Testing Library is famously opinionated about testing best practices, and is written to encourage these best practices. This course teaches:
testing behavior over testing implementation
tests that interact with your app the way a user would
finding elements by accessibility handles, to make sure your code is accessible as possible
Broad range of testing examples
The course apps start very with very simple examples (clicking a button to change its color) and work up to progressively more complicated testing concepts, such as:
testing asynchronous page changes
simulating data from a server using Mock Service Worker
applying a context provider to a component when rendering
The course builds up to complex concepts gradually, in a way designed to support your learning and ensure your success.
Practice your new skills
You will also have plenty of opportunities to practice what you’ve learned. The course provides "code quizzes" while building the course projects, where you can apply what you learned and then watch a video to see the solution. The (optional) final section provides even more exercises to complete the second app and reinforce concepts from the course.
Optional React lectures
Any significant React code covered in the course is isolated into separate lectures. Students have a choice: those who want to reinforce their React skills (or learn new ones!) can watch those lectures, while students who feel confident in their React skills can skip them.
The instructor has a proven track record of responding to course Q&A in a helpful and supportive way. She loves to engage with students, answer questions about course concepts, and help debug students' code for the course projects.
Who this course is for:
- React coders who want to learn how to write functional tests for their apps
- React application engineers who want confidence that writing code doesn't break existing behavior (tests, for the win!)
My teaching career started when I played school with my (not very willing) younger brother as a kid. I gradually expanded my horizons to teaching (marginally) more willing high school students, and more recently have taught software development at various boot camps to delightfully willing adults. I have been working in the software industry on and off since the mid-90s, which predates the birth of many coders in the San Francisco tech scene(!).