Back to overview

Join Kent C. Dodds for "Testing React Apps"

Not currently scheduled

Sign up to be notified when this workshop is scheduled

The problem statement

Shipping code changes is nerve wracking

Not having automated tests to confirm those code changes don't break stuff is terrifying

Automated testing is an important part of any modern application. But it's easy to get wrong and you're left with tests you need to babysit. Nobody enjoys this, but it's the only way you know how to test, and it's better to have bad tests than no tests at all right? ... right!? (No it's not).

Hi, I'm Kent and I'm the creator of React Testing Library–the defacto standard testing tool of the React ecosystem. I also created the Testing Trophy–the modern testing approach for testing. I know a thing or two about this and other tools in the ecosystem and I'm excited to help you learn all about them.

At the end of this workshop you'll be able to do all of these things yourself.

Here's why you should register for the workshop.

Register here
  1. 01.Understand React Testing Library

    Our abstractions often feel like magic, but really, it's all just JavaScript in those node_modules. When you understand how your tools work, you can use them more effectively and that's what you'll get out of this workshop for React Testing Library.

  2. 02.What "implementation details" means and how to avoid it

    You may have heard the phrase "testing implementation details" thrown around a lot in discussions about testing. After we're through here, you'll not only understand what it means, but you'll be able to spot it in code reviews and avoid making PRs that have this mistake yourself.

  3. 03.Mock HTTP requests

    Practical testing requires that we fake some things we're doing in our apps. Otherwise you'd charge a real credit card every time you test the checkout. The problem is, you lose confidence when you mock things. It's a balance. When we're through here, you'll be equipped with the right tools and techniques to get the most out of that balance.

  4. 04.Reduce duplication between tests

    Many of our components require some state to be established before being rendered (mostly we're talking about context providers). You'll come away from this workshop knowing how to test these kinds of components and write your own helpful testing utilities so you don't have to repeat that setup for every test in your codebase.

The topics we will be covering.

This is what we will talk about.

    01.
    How React Testing Library works under the hood
    02.
    How to write tests that are "implementation detail free and refactor friendly"
    03.
    Test components that make HTTP requests
    04.
    Test components that use third party modules
    05.
    Test mission-critical application forms
    06.
    Create custom render functions to simplify testing across the application
Required experience

Attend my React Fundamentals Workshop or have the equivalent fundamental experience with React and JavaScript. Attend my Testing Fundamentals Workshop or have the equivalent experience with the fundamentals of testing. This workshop will use TypeScript, but should be completable if you do not have experience with TypeScript (or you could attend my TypeScript to know for React workshop first).

Important Note

Depending on the questions asked during the workshop, or necessary changes in the material, the actual content of the workshop could differ from the above mentioned topics.

What to expect from a Kent C. Dodds workshop

My primary goal is retention. If you can't remember what I've taught you, then the whole experience was a waste of our time.

With that in mind, we'll follow the teaching strategy I've developed over years of teaching (learn more about my teaching strategy here).

The short version is, you'll spend the majority of time working through exercises that are specifically crafted to help you experiment with topics you may have never experienced before. I intentionally put you into the deep end and let you struggle a bit to prepare your brain for the instruction.

Based on both my personal experience and scientific research around how people learn, this is an incredibly efficient way to ensure you understand and remember what you're learning. This is just one of the strategies I employ to improve your retention. I think you'll love it!

I'm excited to be your guide as we learn together!

Don't just take my word for it.

What participants have to say.

I am learning epicreact.dev. It's good!

zhu baohua profile

zhu baohua

Leqee

Even with nearly 2 years of React experience, EpicReact.dev helped me to refresh and even learn better the basic stuff and apply more advanced patterns to real use cases.

Vasilis Drosatos profile

Vasilis Drosatos

Senior Frontend Developer

Have a look at my other workshops.

Learn more in these workshops.