My Account Log in

2 options

Mastering react test-driven development : build rock-solid, well-tested web apps with react, redux and graphql / Daniel Irvine.

EBSCOhost Academic eBook Collection (North America) Available online

View online

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Irvine, Daniel, author.
Language:
English
Subjects (All):
JavaScript (Computer program language).
User interfaces.
Physical Description:
1 online resource (483 pages)
Place of Publication:
Birmingham ; Mumbai : Packt Publishing Ltd, 2019.
Summary:
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 ...
Contents:
Cover; Title Page; Copyright and Credits; Dedication; About Packt; Contributors; Table of Contents; Preface; Section 1: First Principles of TDD; Chapter 1: First Steps with Test-Driven Development; Technical requirements; Creating a new React project from scratch; Installing NPM; Creating a new Jest project; Commit early and often; Bringing in React and Babel; Displaying data with your first test; Writing a failing test; Writing your first expectation; Rendering React from a test; Make it pass; Backtracking on ourselves; Refactoring your work; Promoting variables; Using a beforeEach block
Extracting methodsWriting great tests; Red, green, refactor; Streamlining your testing process; Rendering lists and detail views; Rendering the list of appointments; Specifying list items; Selecting data to view; Initial selection of data; Adding events to a functional component; Manually testing our changes; Adding an entrypoint; Putting it all together with Webpack; Before you check in ... ; Summary; Exercises; Further learning; Chapter 2: Test-driving Data Input with React; Extracting a test helper; Adding a form element; Extracting a form-finder method; Accepting text input
Extracting an expectation group functionPassing in an existing value; Extracting out a field-finder function; Labeling the field; Checking for null or not; Saving the customer information; Submitting a form with data; Using state instead of props; Duplicating fields; Nesting describe blocks; Generating parameterized tests; Solving a batch of tests; Modifying handleChange to work with multiple fields; Finishing off the form with a submit button; Selecting from a dropdown; Providing options to a dropdown; Utilizing defaultProps to specify real data; Pre-selecting a value
Completing the remaining tests for the select boxMaking a choice from radio buttons; Constructing a calendar view; Displaying radio buttons for available appointments; Hiding input controls; Finishing it off; Manually testing your solution; Summary; Exercises; Further learning; Chapter 3: Exploring Test Doubles; What is a test double?; Learning to avoid fakes; Submitting forms using spies; Untangling Arrange-Act-Assert; Watching it fail; Making spies reusable; Using a Jest matcher to simplify expectations; Stubbing the fetch API; Replacing global variables with spies
Installing the window.fetch polyfillActing on return values with stubs; Acting on the fetch response; Displaying errors to the user; Extracting test helpers; Using Jest to spy and stub; Extracting spy helpers; Using jest.spyOn to spy on module mocks; Drying up DOM queries; Extracting container.querySelectorAll; Drying up DOM events; Summary; Exercises; Further learning; Chapter 4: Creating a User Interface; Fetching data on load with useEffect; Stubbing exported constants; Using props within useEffect; Passing customer data through to AppointmentForm
Notes:
Passing through props to the child component
Description based on print version record.
ISBN:
9781789138788
1789138787
OCLC:
1101035886

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account