Appendix: Design the State Shape of Your Application
Error handling
The data shape
Appendix: Background of Testing Strategies
Different layers of tests
Juntao Qiu is a senior web application developer at ThoughtWorks. Over the past ten years, he has helped his clients to build solid, extensible and high-quality web applications on a range of projects including traditional web applications using jQuery and JSP (Java Server Pages) to single page applications (SPAs) using Backbone, AngularJS, and React. Juntao knows how to handle the complexity of real-world projects by applying appropriate methodologies including writing clean code and effective automation tests.He also is a technical author who has already published two books in the Chinese language: JavaScript Core Concepts and Practices (2013) and Lightweight Web Application Development (2015). He is passionate about writing blogs and speaking at events. He has a real passion for clean code, refactoring, and Test-Driven Development.Additionally, he does Muay Thai and Boxing in his spare time.
Learn to use accelerated test-driven development (TDD) to build a React application from scratch. This book explains how your React components will be integrated, and how to refactor code to make it more concise and flexible.
With TDD you can develop a robust test suite to catch bugs, and develop modular, flexible code. Applying your understanding of how HTML, CSS, and JavaScript work in the browser you'll build a web application called Bookish using TDD and mainstream React stack technologies such as React, React-router, and Redux.
Using higher code quality you'll be able to write executable documentation using Cucumber. This is just one of many essentials in maintaining a practical TDD workflow in your daily workload. Test-Driven Development with React highlights best practices and design patterns that will enable you to write more maintainable and reusable React components.
You will:
Manage your application’s state using Redux
Employ professional techniques for backend services
Use Cypress as an end-to-end testing framework
Utilize React-testing-library for unit and integration tests