JavaScript Unit Testing – The Practical Guide

Learn how to write automated tests (unit & integration tests) for your JavaScript projects with Vitest & Jest.

Automated testing is a key concept in modern (web) development.

What you’ll learn

  • Write and structure unit & integration tests.
  • Remove side effects from tests via mocking and spies.
  • Work with popular JavaScript test runners and libraries.
  • Write good tests and focus on testing core business logic.

Course Content

  • Getting Started –> 8 lectures • 25min.
  • Setup & Testing Software –> 5 lectures • 24min.
  • Testing Basics –> 19 lectures • 1hr 19min.
  • Writing Good Tests –> 9 lectures • 38min.
  • Integration Tests –> 5 lectures • 15min.
  • Advanced Testing Concepts –> 12 lectures • 39min.
  • Mocking & Spies: Dealing with Side Effects –> 12 lectures • 45min.
  • More on Mocking & Diving Deeper –> 11 lectures • 47min.
  • Testing & The DOM (Frontend JavaScript Testing) –> 9 lectures • 25min.
  • Course Roundup –> 2 lectures • 4min.

Auto Draft

Requirements

Automated testing is a key concept in modern (web) development.

Yet it is a concept that can be intimidating at first, hence many developers shy away from diving into testing and adding tests to their projects.

This course will teach you automated unit & integration testing with JavaScript from the ground up. You will learn how tests are written and added to your projects, what should (and should not) be tested and how you can test both simple as well as more complex code.

You will learn about the software and setup required to write automated tests and example projects will be provided as part of the course. It’s a hands-on, practical course, hence you won’t get stuck in theory – instead you’ll be able to learn all key concepts at real examples.

In the course, Vitest will be used as the main testing library & tool. It’s a modern JavaScript test runner and assertion library that provides Jest compatibility. Hence what you’ll learn in this course will help you no matter if you’re working with Vitest or Jest. And the core concepts will apply, no matter which testing setup you’re using at all!

As part of this course, typical testing problems will be defined and solved and common strategies like mocking or working with spies are taught in great detail. This course also does not focus on specific types of JavaScript projects – neither does it focus on any specific library or framework.

Instead, you’ll learn how to automatically test your (vanilla) JavaScript code, no matter if it’s a NodeJS or frontend project. The fundamentals you’ll gain in this course will help you in all your future projects – backend (NodeJS) and frontend (vanilla JS, React, Vue, Angular) alike.

This course will provide you with an extremely solid foundation to build up on, such that you can start adding tests to all your JavaScript projects.

In detail, this course will teach you:

  • What exactly “testing” or “automated testing” is (and why you need it)
  • What “unit testing” is specifically
  • Which tools you need to enable automated unit tests in your projects
  • How to write unit tests
  • How to get started with integration tests
  • How to formulate different expectations (assertions)
  • Which patterns to follow when writing tests
  • How to test asynchronous and synchronous code
  • How to deal with side effects with help of spies & mocks
  • How to apply all these concepts in real projects & examples
Get Tutorial