React - Mastering Test Driven Development (

Upgrade your React skills with Test Driven Development! Jest, Enzyme, Redux, middleware, ES6, & more!

Created by: David Joseph Katz

Produced in 2017

What you will learn

  • How to use Test and Behavior Driven Development to build React applications.
  • The ability to discuss the approach of Test Driven Development with fellow software engineers.
  • How to build full React applications with thorough tests.
  • How to use libraries like Jest, Enzyme, and more to test React components.
  • How to use Redux in React applications, including asynchronous actions and middleware.
  • How to apply advanced es6 concepts to write more concise code.
  • How to extend React applications with third-party libraries.

Quality Score

Content Quality
Video Quality
Qualified Instructor
Course Pace
Course Depth & Coverage

Overall Score : 88 / 100

Live Chat with CourseDuck's Co-Founder for Help

Need help deciding on a reactjs course? Or looking for more detail on David Joseph Katz's React - Mastering Test Driven Development? Feel free to chat below.
Join CourseDuck's Online Learning Discord Community

Course Description

Become an in demand software engineer by taking this course on React as well as Test and Behavior Driven Development. As arguably the most popular web development framework today, learning React along with testing is a must. Knowing how to create React applications with thorough tests will open doors and jobs for you.
In this project-based course, you'll learn how to build React and Redux applications in a test and behavior driven development approach. You'll discover testing practices widely used in the industry today. And you'll find out how to use notable testing libraries like Jest and Enzyme.
You will skyrocket to the top of the talent pool because you can write tests. Coding the apps is only half of the process. Knowing how to write tests is the other crucial skill looked for by top software companies like Google, Facebook, Microsoft, and more.
In this course, first, you'll get familiar with React by building an application from the start. Writing tests will guide the process as you use popular libraries like Jest by Facebook and Enzyme by Airbnb.
Second, you'll build a more in-depth application with Redux in the behavior driven development approach. You'll learn all the advanced techniques for testing asynchronous code, effective mocking, and beyond.
If you've gone through the the quick JavaScript and React tutorials online, then this course will take you to the next level.
Ready to step up your coding game? Excited to boost your skills? Then what you are waiting for? Let's get started coding!Who this course is for:
  • Anyone who wants to learn how to thoroughly test React applications.
  • Someone with exposure to React applications.
  • Someone who is comfortable with JavaScript.
  • A developer who wants to refine their testing skills.

*Some courses are excluded from this sale. Coupon not working? If the link above doesn't drop prices, clear the cookies in your browser and then click this link here.
Also, you may need to apply the coupon code directly on the cart page to get the discount.

Coupon Code

Instructor Details

David Joseph Katz

David is a software engineer at Zendesk, with a Bachelor of Computer Science from the University of San Francisco.
David has gained valuable experience from the tech industry. By incorporating the best practices he has learned at work, he hopes to create the highest quality learning experiences possible.
Feel free to connect with David! He is always curious about the cool project you're working on. And he loves to discuss ideas on how to build impactful technology.



100 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

The course was really detailed and was engaging. Its the best course to upstart TDD and BDD approach to deliver final application.


Fast-paced and straight to the point. Great for people who need to learn how to write tests for React and Redux urgently!

It was more basic then I thought it would be. I think it covered the 'how' reasonably well, but I was disappointed at how little was mentioned about the design of the code and what you should be thinking about while writing tests, and distinctions like "clean" tests vs. "dirty" tests.Further, there were a number of times throughout the course where a bug comes up that isn't covered by the tests, and those would have been an excellent opportunity to let people know that as they see and notice those cases, they should add tests to cover them. Instead, it seems like the code was just fixed directly without adding tests and we moved on.This is a useful introduction to TDD in the context of React + Redux, but it doesn't go much beyond a junior level.

The instructor sounds like he is just reading from a script. His delivery is just dry. Very monotone and hard to stay focus. Other than that it's ok.

Good course! After completing this I feel like I know enough about TDD in React to take this approach to writing React/Redux applications in future.

it feels like your'e working from a script and not naturally, so the concepts seem to be presented in an ad-hoc manner. since there is some much material to cover, it might have benefited from having been organised differently, perhaps write the basic components first, with tests, then write redux stores and their tests. the explanations of how the props and actions are passed to the components each time when connecting redux was a bit quick and took far longer to understand due to the poor explanation. Also the pace is a little fast and the screen is not always big enough and code gets quickly hidden behind the screen boundary, this forces me to rewind often while i'm testing the code alongside the lecture in real time.

Sadly, Im quite dissapointed about this course and I want to share my thoughts.I picked it because I was looking for a introduction to TDD approach when building React applications. I was a total beginner back then and as I kept reading both description and comments, I thought it would be great for me to start from basics.First part of the course satisfied me. The instructor started with some theory an basic concepts and jumped into real life code examples, that really helped me grasp the TDD. Thank you for that, 5/5 by now.But then everything went downhill.Instructor introduced second mini-project (which is 2/3 of the course) with a lot of specific libraries, extra packages and third party libraries), which narrowed the accesibility of the course only to people, who actually wants to test their apps using these niche libraries. Without knowledge or 'need' to learn these libraries, the rest of the course (2/3 !) was completely useless to me.If instructor focused more on 'base' concept of testing, explained it thoroughly, THEN added as bonus testing redux and stuff, it would be fine; but instead I got a course that to understand and use most parts of it, requires me to have extra unnecessary knowledge about 3-party libs.I wouldnt suggest this course to learn TDD in a way this course is designed now, because only 1/3 of this course is usefull stuff (first project) and the rest is testing redux and mentioned niche libraries, that in my opinion arent neccessary to learn TDD. And even if I myself dont need to use the other parts of testing process, still, I believe 90 mins of course isnt enought to cover TDD.

import Enzyme, { shallow } from 'enzyme';import Adapter from 'enzyme-adapter-react-16';Enzyme.configure({ adapter: new Adapter() });Required to get shallow to function.

Good overview of using Jest / Enzyme to test React applications. Not the most in depth course, but enough to get you started, I guess. I would have preferred to see a more realistic project building off of the react-create-app src though. I also would have liked there to be more theory about what to test, etc. Being new to test driven development, I found this course lacking, but for someone already familiar with the pattern, it's probably all they'd need.

I love David's courses. You learn a lot, use a lot, and he goes back and explains everything that might be optional for others but always good to go through again. Thanks, this course is great! Finished the course! Lots of fun, it was supposed to be for a review after being in Angular for a while but the last few lectures with middleware / thunk / and testing were a little confusing. I'm gonna go through that again and hope that will clear up the lessons for me. Thanks David!

Great course. I would like also to see how to test Redux Saga and to use headless Chrome. Anyway, it's a great course. All main topics are covered.