Testing JavaScript is an online course by Kent C. Dodds to learn how to efficiently test a JavaScript application using the Testing Trophy method. The course requires some experience developing web applications with JavaScript, but it's beginner-friendly in the testing part. It consists of eight modules, each containing many video lessons.
The core promise of the course is: learn the smart, efficient way to test any JavaScript application.
Kent C. Dodds is a well-known software engineer in the React ecosystem with many open-source contributions. He's the author of React Testing Library. He has experience in teaching, and you can expect solid quality from Testing JavaScript.
As a software craftsman, testing is a must to deliver reliable applications. Seeking better ways to test and improve my testing skills is necessary to deliver what's best for my clients. I used Enzyme before and was interested in React Testing Library and its testing philosophy. There's probably nothing better than taking a course on JavaScript testing from the library's author.
If you're new to the JavaScript testing ecosystem, it will be valuable to you. Even if you're a veteran, you'll still learn some things and get fresh perspectives on testing. You can check out the modules covered in the course on the landing page and see if it's worth the investment.
In my case, I had some experience with testing, but I still learned a lot. It gives you a solid foundation you can apply directly to your personal and professional projects. I was able to apply everything I learned and teach it to the developers I worked with.
A few years ago, I worked with a client who had raised a lot of money and was entering a fast-growth phase. The app lacked frontend tests, but still has E2E testing. As the codebase grew, we couldn’t rely solely on E2E testing because it's slow and cannot cover all use cases.
It’s always difficult to convince the higher-ups to take some time to add more tests but we persisted and got a chance. The team knew I had completed Testing JavaScript and proposed that I take the lead on building the test system within the existing codebase.
I took the challenge and led the effort until all tools and best practices were integrated into the frontend teams. I tried to shift the culture toward a more test-driven approach, and tests were added to the definition of done for every task. Little by little, code quality improved, maintainability was easier, side effects were reduced, and satisfaction with doing “good work” increased. Most developers take pride in delivering high-quality and reliable features.
I became the go-to person for frontend testing after completing the course. Beyond fulfilling the promise, the course opened opportunities that continue to benefit me to this day.
