This course will be delivered to you over 7 days, with one lesson per day. You will learn a new testing technique each day, which you can spend some time trying. You can then apply it to your own JavaScript project and build your confidence of the different techniques I'll teach you. Here's what you'll learn during the week:
The different types of tests you can write as a JavaScript developer.
What you need to install to start unit testing your JavaScript code.
The different types of assertions and how you should use them.
How you can set up different test suites and group your tests for clearer output.
How to ignore or specify single tests or test suites for debugging.
How to test those tricksy asynchronous callback functions and promises.
How to time travel (like Doctor Who!) using fake timers to speed up your tests.
How to set up an example project using the GitHub API and fully test it.
How to stub the GitHub API request to test your happy and unhappy code paths.
A simpler way to configure your test setup.
How to automate your tests for continuous integration.
Some ideas for better JavaScript testing to help you to level-up your skills.
I want to make it as easy as possible for you to learn about JavaScript testing. I also appreciate that everybody learns differently. Here's what you'll receive from me:
Daily lessons delivered by email.
Step-by-step instructions. Each lesson will explain any dependencies you need to install (there aren't many!) and give you the exact steps to follow.
Complete code examples. The lesson will show you all of the code you need to include and any command line instructions to run the tests.
A link to download the code sample. I'll include a link to a zip file containing all of the code and tests for each lesson.
A GitHub repository link. If you'd prefer to clone or fork a git repository, I'll include a link to it on GitHub. I'll tag each lesson so you can checkout the right commit if you know how to do that.
Videos for visual learners. You may be someone who prefers a more visual learning experience. Don't worry, I haven't forgotten you! I'm going to record each lesson as a screencast and upload it to YouTube. You will see exactly what I'm typing and I'll talk you through the example and any reasons for my thinking. These videos for each lesson will also contain a more detailed explanation of each concept so they're worth watching even if you prefer to read the text.