Automated testing is a key concept in modern (web) development.
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 teaches 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