Back to overview

Join Kent C. Dodds for "Testing Web Applications"

Not currently scheduled

Sign up to be notified when this workshop is scheduled

The problem statement

Congratulations, you've built an amazing web application!

But people hate it because you keep shipping bugs.

You have only so much time to dedicate to your project. Even if you're spending 100% of your waking moments working on your product, you'll always have this limiting factor: time. You need to focus on activities that will give you the biggest return on your investment of time.

If you skip on testing, you'll inevitably spend more time fixing bugs. The bugs shipped will also result in customer churn, so you'll spend more time looking for customers you won't be able to retain. Writing automated tests is just as important as writing the code that makes your app work. It operates under the same currency (your time), and pays for itself in time saved. That is... if you do it right.

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.Automated Testing Strategies

    There are a lot of different levels of testing. Knowing which ones to use when is critical to your success. We'll learn about the different types of automated tests and how to use them effectively to make efficient use of your time.

  2. 02.Testing Library

    Testing Library is a great tool for testing your web applications. It encourages you to write tests that are more maintainable and less brittle. We'll learn how to use Testing Library to write tests that are more resilient to changes in your application.

  3. 03.Avoiding the Test User

    It can be really easy to write tests that do things your users don't care about. When you do this it feels like you're just writing tests for the sake of writing tests. Almost like you're re-implementing your app in your tests. By avoiding the test user, you can keep your tests implementation detail free and refactor friendly.

  4. 04.Testing Databases

    There's something to be said for mocking out downstream APIs, but at some point in every application, there's going to be persistence and you want to make sure that your application can connect to and use it. We'll learn how to efficiently setup and use a test database.

  5. 05.Writing authenticated tests

    Pulling up your app and clicking around is one thing, but most apps require a logged in user, and setting that up can be a challenge. In this workshop we'll see how to do this efficiently to avoid over-testing, and encourage your co-workers to contribute tests (because it's easy to do).

The topics we will be covering.

This is what we will talk about.

    01.
    Writing properly scoped unit tests
    02.
    Testing component integration
    03.
    Testing full app end-to-end
    04.
    Using a test database
    05.
    Writing authenticated tests
    06.
    Using Testing Library queries to navigate the app
Required experience

You should have experience with these JavaScript features and watch my Beginner's Guide to React or have the equivalent experience. Experience with Remix is a bonus, but not a requirement. This workshop will use TypeScript, but should be completable if you do not have experience with TypeScript.

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 others have to say

EpicReact.dev is a treasure! It helped me understand how do things work internally, real world practices and top quality code that I still refer to, to this day. The effort, passion that has been dedicated towards this course is immeasurable and it also got me my first internship!

Fares Essayeh profile

Fares Essayeh

Frontend Developer

After signing up to EpicReact, I gained a lot of knowledge regarding advanced things in React, and that helped me to double my salary in less than 2 years.

Now I feel confident to use fancy things like compound components, context module functions or prop collectors. EpicReact was the little push that I needed.

Alan Medina profile

Alan Medina

Frontend Engineer

Have a look at my other workshops.

Learn more in these workshops.