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.

    Writing properly scoped unit tests
    Testing component integration
    Testing full app end-to-end
    Using a test database
    Writing authenticated tests
    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

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

I used Epic React not to just upskill myself but I took the knowledge gained from the course and added them to patterns I showed coworkers and mentees. The teaching and learning approach that the platform implements utilizes some of the best learning and memory techniques available from modern research in those fields.

Jacob M-G Evans profile

Jacob M-G Evans

Sr. FullStack Engineer

Have a look at my other workshops.

Learn more in these workshops.