Simplify Testing with React Testing Library

Simplify Testing with React Testing Library

Author: Scottie Crump

Publisher: Packt Publishing Ltd

Published: 2021-05-14

Total Pages: 246

ISBN-13: 1800565097

DOWNLOAD EBOOK

A fast-paced, practical guide to helping you leverage React Testing Library to test the DOM output of components Key FeaturesGet to grips with React Testing Library and create tests that don't break with changes in implementationLearn how to put RTL into practice by implementing it in real-world scenariosTest apps to be more accessible and ensure your tests will work with actual DOM nodesBook Description React Testing Library (RTL) is a lightweight and easy-to-use tool for testing the document object model (DOM) output of components. This book will show you how to use this modern, user-friendly tool to test React components, reducing the risk that your application will not work as expected in production. The book demonstrates code snippets that will allow you to implement RTL easily, helping you to understand the guiding principles of the DOM Testing Library to write tests from the perspective of the user. You'll explore the advantages of testing components from the perspective of individuals who will actually use your components, and use test-driven development (TDD) to drive the process of writing tests. As you advance, you'll discover how to add RTL to React projects, test components using the Context API, and also learn how to write user interface (UI) end-to-end tests using the popular Cypress library. Throughout this book, you'll work with practical examples and useful explanations to be able to confidently create tests that don't break when changes are made. By the end of this React book, you will have learned all you need to be able to test React components confidently. What you will learnExplore React Testing Library and its use casesGet to grips with the RTL ecosystemApply jest-dom to enhance your tests using RTLGain the confidence you need to create tests that don't break with changes using RTLIntegrate Cucumber and Cypress into your test suiteUse TDD to drive the process of writing testsApply your existing React knowledge for using RTLWho this book is for This book is for software engineers, quality engineers and React developers who want to learn about modern practices used for testing React components using the latest testing tool, RTL. Basic knowledge of React development is required to get the most out of this book.


Full Stack Development with Spring Boot 3 and React

Full Stack Development with Spring Boot 3 and React

Author: Juha Hinkula

Publisher: Packt Publishing Ltd

Published: 2023-10-31

Total Pages: 455

ISBN-13: 1805126814

DOWNLOAD EBOOK

Get up and running with the Spring Boot and React stack – build an app from start to finish, test the frontend and backend, and deploy. Now with TypeScript code! Purchase of the print or Kindle book includes a free PDF eBook Key Features Use Spring Boot 3 to create powerful, complex, and secure backends for your applications Leverage React to build slick, high-performance frontends Get introduced to TypeScript, Vite, and React Query for React development Book DescriptionIf you’re an existing Java developer who wants to go full stack or pick up another frontend framework, this book is your concise introduction to React. In this three-part build-along, you’ll create a robust Spring Boot backend, a React frontend, and then deploy them together. This new edition is updated to Spring Boot 3 and includes expanded content on security and testing. For the first time ever, it also covers React development with the in-demand TypeScript. You’ll explore the elements that go into creating a REST API and testing, securing, and deploying your applications. You’ll learn about custom Hooks, third-party components, and MUI. By the end of this book, you'll be able to build a full stack application using the latest tools and modern best practices.What you will learn Make fast and RESTful web services powered by Spring Data REST Create and manage databases using ORM, JPA, Hibernate, and more Explore the use of unit tests and JWTs with Spring Security Employ React Hooks, props, states, and more to create your frontend Harness the Material UI component library to customize your frontend Use the fetch API, Axios, and React Query for networking Add CRUD functionality to your apps Deploy your apps using AWS and Docker Who this book is for This book is for Java developers who have basic familiarity with Spring Boot but don’t know where to start when it comes to building full stack applications. Basic knowledge of JavaScript and HTML will help you to follow along. You'll also find this book useful if you're a frontend developer with knowledge of JavaScript basics and looking to learn full stack development, or a full stack developer experienced in other technology stacks looking to learn a new one.


Real-World Next.js

Real-World Next.js

Author: Michele Riva

Publisher: Packt Publishing Ltd

Published: 2022-02-28

Total Pages: 367

ISBN-13: 1801079870

DOWNLOAD EBOOK

Learn how to use Next.js for building web apps without compromising performance, user experience, and developer happiness Key FeaturesDevelop scalable web applications using Next.jsUse Next.js as a frontend for existing backends and e-commerce websites and understand how to implement it with any headless CMSDeploy Next.js on different platforms, such as Vercel, DigitalOcean, and AWS, or on your own serverBook Description Next.js is a scalable and high-performance React.js framework for modern web development and provides a large set of features, such as hybrid rendering, route prefetching, automatic image optimization, and internationalization, out of the box. If you are looking to create a blog, an e-commerce website, or a simple website, this book will show you how you can use the multipurpose Next.js framework to create an impressive user experience. Starting with the basics of Next.js, the book demonstrates how the framework can help you reach your development goals. You'll realize how versatile Next.js is as you build real-world applications with step-by-step explanations. This Next.js book will guide you in choosing the right rendering methodology for your website, securing it, and deploying it to different providers, all while focusing on performance and developer happiness. By the end of the book, you'll be able to design, build, and deploy modern architectures using Next.js with any headless CMS or data source. What you will learnGet up to speed with Next.js essentials and learn how to build apps quicklyUnderstand how to create scalable Next.js architecturesChoose between different rendering strategies, such as client-side rendering (CSR), static site generation (SSG), server-side rendering (SSR), and incremental static regeneration (ISR)Write unit tests and integration tests in your Next.js applicationDiscover the powerful routing system and Next.js' built-in componentsDesign and build modern architectures with Next.js using GraphCMS or any headless CMSWho this book is for This book is for web developers who want to improve their React skills by building scalable and maintainable full-stack applications using the modern Next.js web framework. Intermediate-level knowledge of ES6+, React, Node.js, and REST is assumed.


The Art of Unit Testing

The Art of Unit Testing

Author: Roy Osherove

Publisher: Simon and Schuster

Published: 2013-11-24

Total Pages: 459

ISBN-13: 1638353050

DOWNLOAD EBOOK

Summary The Art of Unit Testing, Second Edition guides you step by step from writing your first simple tests to developing robust test sets that are maintainable, readable, and trustworthy. You'll master the foundational ideas and quickly move to high-value subjects like mocks, stubs, and isolation, including frameworks such as Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, working with legacy code, and even "untestable" code. Along the way, you'll learn about integration testing and techniques and tools for testing databases and other technologies. About this Book You know you should be unit testing, so why aren't you doing it? If you're new to unit testing, if you find unit testing tedious, or if you're just not getting enough payoff for the effort you put into it, keep reading. The Art of Unit Testing, Second Edition guides you step by step from writing your first simple unit tests to building complete test sets that are maintainable, readable, and trustworthy. You'll move quickly to more complicated subjects like mocks and stubs, while learning to use isolation (mocking) frameworks like Moq, FakeItEasy, and Typemock Isolator. You'll explore test patterns and organization, refactor code applications, and learn how to test "untestable" code. Along the way, you'll learn about integration testing and techniques for testing with databases. The examples in the book use C#, but will benefit anyone using a statically typed language such as Java or C++. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. What's Inside Create readable, maintainable, trustworthy tests Fakes, stubs, mock objects, and isolation (mocking) frameworks Simple dependency injection techniques Refactoring legacy code About the Author Roy Osherove has been coding for over 15 years, and he consults and trains teams worldwide on the gentle art of unit testing and test-driven development. His blog is at ArtOfUnitTesting.com. Table of Contents PART 1 GETTING STARTED The basics of unit testing A first unit test PART 2 CORE TECHNIQUES Using stubs to break dependencies Interaction testing using mock objects Isolation (mocking) frameworks Digging deeper into isolation frameworks PART 3 THE TEST CODE Test hierarchies and organization The pillars of good unit tests PART 4 DESIGN AND PROCESS Integrating unit testing into the organization Working with legacy code Design and testability


Designing React Hooks the Right Way

Designing React Hooks the Right Way

Author: Fang Jin

Publisher: Packt Publishing Ltd

Published: 2022-01-11

Total Pages: 278

ISBN-13: 180323752X

DOWNLOAD EBOOK

Get to grips with React Hooks and design your own custom Hook to manage application states for making better decisions in site architecture Key FeaturesGet to grips with Hooks' design and understand each built-in Hook's pitfalls with examplesDiscover how to turn your existing code into a reusable Hook via code refactoringExplore design solutions to identify and solve site performance issues involving HooksBook Description React hook creates a unique solution for using states in function components to orchestrate UI communication. They provide you with an easy interface to write custom data management solutions with low development and maintenance costs. Understanding how Hooks are designed enables you to use them more effectively, and this book helps you to do just that. This book starts with a custom-crafted solution to reveal why Hooks are needed in the first place. You will learn about the React engine and discover how each built-in Hook can manage a persistent value by hooking into it. You will walk through the design and implementation of each hook with code so that you gain a solid understanding. Finally, you'll get to grips with each Hook's pitfalls and find out how to effectively overcome them. By the end of this React book, you'll have gained the confidence to build and write Hooks for developing functional and efficient web applications at scale. What you will learnCreate your own hooks to suit your state management requirementDetect the current window size of your website using useEffectDebounce an action to improve user interface (UI) performance using useMemoEstablish a global site configuration using useContextAvoid hard-to-find application memory leaks using useRefDesign a simple and effective API data layer using custom HooksWho this book is for This book is for web developers who are looking for a consistent and efficient approach for applying application states with Hooks. Basic knowledge of React will help you to get the most out of this book.


Micro State Management with React Hooks

Micro State Management with React Hooks

Author: Daishi Kato

Publisher: Packt Publishing Ltd

Published: 2022-02-25

Total Pages: 254

ISBN-13: 1801810044

DOWNLOAD EBOOK

Explore global state management and select the best library for your application Key Features Understand the essential concepts and features of micro state management Discover solutions to common problems faced while implementing micro state management Explore the different libraries, their coding style, and the optimum approach to rendering optimization Book Description State management is one of the most complex concepts in React. Traditionally, developers have used monolithic state management solutions. Thanks to React Hooks, micro state management is something tuned for moving your application from a monolith to a microservice. This book provides a hands-on approach to the implementation of micro state management that will have you up and running and productive in no time. You'll learn basic patterns for state management in React and understand how to overcome the challenges encountered when you need to make the state global. Later chapters will show you how slicing a state into pieces is the way to overcome limitations. Using hooks, you'll see how you can easily reuse logic and have several solutions for specific domains, such as form state and server cache state. Finally, you'll explore how to use libraries such as Zustand, Jotai, and Valtio to organize state and manage development efficiently. By the end of this React book, you'll have learned how to choose the right global state management solution for your app requirement. What you will learn Understand micro state management and how you can deal with global state Build libraries using micro state management along with React Hooks Discover how micro approaches are easy using React Hooks Understand the difference between component state and module state Explore several approaches for implementing a global state Become well-versed with concrete examples and libraries such as Zustand, Jotai, and Valtio Who this book is for If you're a React developer dealing with complex global state management solutions and want to learn how to choose the best alternative based on your requirements, this book is for you. Basic knowledge of JavaScript programming, React Hooks and TypeScript is assumed.


Mastering React Test-Driven Development

Mastering React Test-Driven Development

Author: Daniel Irvine

Publisher: Packt Publishing Ltd

Published: 2022-09-30

Total Pages: 565

ISBN-13: 180323055X

DOWNLOAD EBOOK

Learn test-driven and behavior-driven development techniques that will give you greater confidence when building React applications Key FeaturesExplore the TDD process, how it works, and why it will help you write maintainable React appsDevelop a component testing framework from scratch, which will help you understand the mechanics of good unit testingReduce complexity by using unit tests and end-to-end acceptance tests to drive the design of your appsBook Description Test-driven development (TDD) is a programming workflow that helps you build your apps by specifying behavior as automated tests. The TDD workflow future-proofs apps so that they can be modified without fear of breaking existing functionality. Another benefit of TDD is that it helps software development teams communicate their intentions more clearly, by way of test specifications. This book teaches you how to apply TDD when building React apps. You'll create a sample app using the same React libraries and tools that professional React developers use, such as Jest, React Router, Redux, Relay (GraphQL), Cucumber, and Puppeteer. The TDD workflow is supported by various testing techniques and patterns, which are useful even if you're not following the TDD process. This book covers these techniques by walking you through the creation of a component test framework. You'll learn automated testing theory which will help you work with any of the test libraries that are in standard usage today, such as React Testing Library. This second edition has been revised with a stronger focus on concise code examples and has been fully updated for React 18. By the end of this TDD book, you'll be able to use React, Redux, and GraphQL to develop robust web apps. What you will learnBuild test-driven applications using React 18 and JestUnderstand techniques and patterns for writing great automated testsUse test doubles and mocks effectivelyTest-drive browser APIs, including the Fetch API and the WebSocket APIIntegrate with libraries such as React Router, Redux, and Relay (GraphQL)Use Cucumber.js and Puppeteer to build Behaviour- Driven Development (BDD) style tests for your applicationsBuild and test async Redux code using redux-saga and expect-reduxWho this book is for This book is for frontend developers who are looking to improve their testing practices and increase the quality and maintainability of their applications. To make the most of this book, you'll need knowledge of the JavaScript programming language.


React Quickly

React Quickly

Author: Azat Mardan

Publisher: Simon and Schuster

Published: 2017-08-20

Total Pages: 794

ISBN-13: 1638353964

DOWNLOAD EBOOK

Summary React Quickly is for anyone who wants to learn React.js fast. This hands-on book teaches you the concepts you need with lots of examples, tutorials, and a large main project that gets built throughout the book. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Successful user interfaces need to be visually interesting, fast, and flowing. The React.js JavaScript library supercharges view-heavy web applications by improving data flow between UI components. React sites update visual elements efficiently and smoothly, minimizing page reloads. React is developer friendly, with a strong ecosystem to support the dev process along the full application stack. And because it's all JavaScript, React is instantly familiar. About the Book React Quickly is the tutorial for web developers who want to get started fast with React.js. Following carefully chosen and clearly explained examples, you'll learn React development using your existing JavaScript and web dev skills. You'll explore a host of different projects as you learn about web components, forms, and data. What's Inside Master React fundamentals Build full web apps with data and routing Test components Optimize React apps About the Reader This book is for developers comfortable building web applications with JavaScript. About the Author Azat Mardan is a Tech Fellow at Capital One with extensive experience using and teaching JavaScript and Node, and author of several books on JavaScript, Node, React, and Express. Table of Contens PART 1 - REACT FOUNDATION Meeting React Baby steps with React Introduction to JSX Making React interactive with states React component lifecycle events Handling events in React Working with forms in React Scaling React components Project: Menu component Project: Tooltip component Project: Timer component PART 2 - REACT ARCHITECTURE The Webpack build tool React routing Working with data using Redux Working with data using GraphQL Unit testing React with Jest React on Node and Universal JavaScript Project: Building a bookstore with React Router Project: Checking passwords with Jest Project: Implementing autocomplete with Jest, Express, and MongoDB APPENDIXES Appendix A - Installing applications used in this book Appendix B - React cheatsheet Appendix C - Express.js cheatsheet Appendix D - MongoDB and Mongoose cheatsheet Appendix E - ES6 for success


Beginning React

Beginning React

Author: Andrea Chiarelli

Publisher: Packt Publishing Ltd

Published: 2018-07-25

Total Pages: 90

ISBN-13: 1789534925

DOWNLOAD EBOOK

Take your web applications to a whole new level with efficient, component-based UIs that deliver cutting-edge interactivity and performance. Key Features Elaborately explains basics before introducing advanced topics Explains creating and managing the state of components across applications Implement over 15 practical activities and exercises across 11 topics to reinforce your learning Book Description Projects like Angular and React are rapidly changing how development teams build and deploy web applications to production. In this book, you’ll learn the basics you need to get up and running with React and tackle real-world projects and challenges. It includes helpful guidance on how to consider key user requirements within the development process, and also shows you how to work with advanced concepts such as state management, data-binding, routing, and the popular component markup that is JSX. As you complete the included examples, you’ll find yourself well-equipped to move onto a real-world personal or professional frontend project. What you will learn Understand how React works within a wider application stack Analyze how you can break down a standard interface into specific components Successfully create your own increasingly complex React components with HTML or JSX Correctly handle multiple user events and their impact on overall application state Understand the component lifecycle to optimize the UX of your application Configure routing to allow effortless, intuitive navigation through your components Who this book is for If you are a frontend developer who wants to create truly reactive user interfaces in JavaScript, then this is the book for you. For React, you’ll need a solid foundation in the essentials of the JavaScript language, including new OOP features that were introduced in ES2015. An understanding of HTML and CSS is assumed, and a basic knowledge of Node.js will be useful in the context of managing a development workflow, but is not essential.


Mastering React Test-Driven Development

Mastering React Test-Driven Development

Author: Daniel Irvine

Publisher: Packt Publishing Ltd

Published: 2019-05-03

Total Pages: 483

ISBN-13: 1789138787

DOWNLOAD EBOOK

This book is comprehensive walk through of Test-Driven Development (TDD) for React. It takes a first-principles approach to teach the TDD process using vanilla Jest. Readers build their own test library as they refactor out repeated code in tandem with building a real-world application. It also covers acceptance testing using Cucumber and ...