CELEBRATE EARTH WEEK
Save 70% on video training and simulators now through April 27*—use code EARTH. Shop now.
2.5 Hours of Video Training
In Test-Driven Development for React/Redux in an Isomorphic Application LiveLessons, Hany Elemary, Lead Consultant at ThoughtWorks, explains a paradigm shift in the testability of front-end code made possible with React/Redux. The video introduces isomorphic applications and their unique benefits and challenges, and then jumps straight into the architecture of React/Redux applications from a testability perspective. Hany follows test-driven development (TDD) principles while building a real-world example--a search application--to demonstrate effective end-to-end testing. Popular testing tools for React/Redux applications, including Enzyme, SinonJS, Expect, Nock and Mountebank, are highlighted.
The need for building highly performant and maintainable user interfaces is now greater than ever. React, a library designed and developed by Facebook, can solve many of the existing problems users face today--including poor browser performance while handling dynamic interactions with high loads of data. React also solves a lot of challenges for front-end developers. Due to its popularity, other supporting frameworks, such as Redux, came into the picture to make applications more predictable, testable, and easier to debug. However, they come with a different approach to front-end development and testing.
Testability is key to maintaining the quality of any application while building confidence in the code as developers refactor their work. Writing proper tests can be a lengthy process, especially for newer frameworks such as React/Redux. Test-Driven Development for React/Redux in an Isomorphic Application LiveLessons quickly gets you up-to-speed on when to build isomorphic applications, how to effectively test your React and Redux code, and how to confidently refactor code while ensuring that business functionality is maintained.
Lesson 1: Isomorphic Applications
1.1 Isomorphic applications overview
1.2 Benefits of isomorphic applications
1.3 Challenges of isomorphic applications
1.4 When to build isomorphic applications
Lesson 2: React/Redux Overview
2.1 Paradigm shift in front-end development
2.2 Design motivation
2.3 Design principles
2.4 Uni-directional flow
Lesson 3: TDD with React/Redux - Simple Components
3.1 TDD overview
3.2 Testing pyramid: unit tests, mock integrations, contract tests, and E2E tests
3.3 Testing frameworks: Mocha, Mochawesome, Enzyme, Sinon, Istanbul
3.4 Testing simple components: display logic and behavior
3.5 Testing simple components: refactoring
Lesson 4: TDD with React/Redux - Async Operations
4.1 Async operations with Redux Sagas
4.2 Testing frameworks: Nock, Mountebank
4.3 Testing async operations with component integration
4.4 Testing failure modes