Testing JavaScript Applications
Join us for an Awesome Workshop on:

Testing JavaScript Applications

April 21, 2017 - 9:30am to 4:30pm Central US Time

RSVP to Attend Online

Live and in Full HD

Join in Person

From Downtown Minneapolis, MN

You're Registered to Attend Online!

April 21, 2017 - 9:30am to 4:30pm Central US Time

This Workshop's Online Chatroom is Currently Open!

April 21, 2017 - 9:30am to 4:30pm Central US Time

You can watch video of this workshop!

Testing JavaScript Applications

Some Key Takeaways!

By coding along with us in the Workshop, you'll:

  • Learn the why, how, where, and what to test.
  • Explore the difference between various forms of testing.
  • Set up the tooling for unit and integration tests using Jest.
  • Write unit tests for JavaScript utilities and React components using Jest.
  • Create integration tests across JavaScript modules.
  • Set up the tooling for E2E (end-to-end) tests with Cypress.
  • Write E2E tests for an application using Cypress.
  • Understand when/where/how to run tests in a continuous integration environment.

Your (Awesome) Instructor

Kent C. Dodds

Kent C. Dodds

Kent C. Dodds works at PayPal as a full stack JavaScript Engineer. He represents PayPal on the TC39. He's actively involved in the open source community as a creator and contributor. He does a bunch of stuff in the React and general JavaScript ecosystem. Kent's an Egghead.io instructor, Frontend Masters instructor, and Google Developer Expert. He's happily married and the father of four kids.

Spend the Day Immersed With a Leading JavaScript Master

Workshop Details

Building and deploying web applications with confidence is challenging. Verifying that what you're deploying to production actually works requires a solid suite of automated tests. Knowing how to configure tools and write tests that enhance your development experience is vital to your success. In this class, we'll explore the merits and tradeoffs of different forms of testing and get into configuring and using specific tools to increase confidence in deploying our applications. Join Kent C. Dodds and learn invaluable skills you can take back to improve your JavaScript applications.

Daily Schedule

We'll start out with a discussion of the history of testing in general and in JavaScript and establish the purpose and role that testing plays in our application development workflow. Then we'll get into the various forms of testing, the merits and tradeoffs of each form. We'll also talk about different styles of testing (like TDD vs BDD). And we'll define some of the vernacular of testing (like code coverage). Then we'll jump into the hands-on portion. We'll cover unit, integration, and E2E testing in this workshop. With the 'Conduit' app, we'll start out setting up the tooling for unit testing the Node API server. We'll write some unit tests together and have time to write some individually. Then we'll do the same for some of the frontend React app. Then we'll contrast that experience by writing integration tests for our application. Finally we'll set up Cypress.io for our application and write E2E tests. Throughout the whole experience, we'll learn the value and trade-offs of each form of testing, where mocking is appropriate/useful, how to avoid testing implementation details, and more. We've already held over 50 workshops holding thousands attendees in-person and online. In this time we've discovered ways to schedule the day so it goes smoothly and efficiently. Regardless if you're in-person or participating with us online you'll have the full ability to replay things you missed, get your questions answered LIVE and interact with the teacher throughout the day.

  • 9:30AM
    Tech Check and Hello
  • 10:00AM
    Background, context, definitions, and the what and why of testing applications
  • 10:30AM
    Configure Jest for the backend unit tests/li>
  • 11:00AM
    Learn about writing unit tests
  • 11:30AM
  • 12:00PM
    Configure Jest for the frontend unit tests
  • 12:15PM
    Learn about writing frontend unit tests
  • 12:30PM
    Lunch and Exercises
  • 1:30PM
    Learn about writing backend integration tests
  • 2:00PM
  • 2:30PM
    Learn about writing frontend integration tests
  • 3:00PM
  • 3:30PM
    Configure Cypress for the application E2E tests
  • 4:00PM
    Learn about writing E2E tests with Cypress
  • 4:30PM
  • 5:00PM
    Wrap up, links, and resources

Interact with the Instructor - Online & In-Person

Get Your Questions Answered • Code Along with the Class • Classroom Format

Is This Workshop for Me?


This class is for experienced JavaScript developers who have at least some experience in testing web applications. This workshop will give you valuable insights you can use in testing your own applications.

Any Prerequisites?

  • You'll need to have a good grasp of JavaScript syntax (experience with modern JavaScript features and syntax will be valuable as well).
  • Also having experience testing non-trivial JavaScript applications will help you understand the importance of some of these concepts.
  • Please see the project repository README for system requirements and setup instructions.

Event Details


One Full Day Workshop Session

Replay Videos (available immediately)


April 21, 2017 - 9:30am to 4:30pm Central US Time


Option 1: Attend online on our full HD live stream

Option 2: Attend in-person at HQ in Minneapolis, MN