Home Page Icon
Home Page
Table of Contents for
Simplify Testing with React Testing Library
Close
Simplify Testing with React Testing Library
by
Simplify Testing with React Testing Library
Simplify Testing with React Testing Library
Contributors
About the author
About the reviewer
Preface
Who this book is for?
What this book covers?
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Chapter 1: Exploring React Testing Library
Technical requirements
Introducing the DOM Testing Library
What is the DOM Testing Library?
Guiding principles
Executing test cases with Jest
Running tests with Jest
Enhancing Jest assertions with jest-dom
Adding jest-dom to a project
Advantages of using jest-dom with Jest
Testing implementation details
Problems with implementation detail-focused tests
Implementation detail-focused test example
How to move away from implementation detail testing
Summary
Questions
Chapter 2: Working with React Testing Library
Technical requirements
Adding React Testing Library to existing projects
Manual installation
Automatic installation with create-react-app
Structuring tests with React Testing Library
Rendering elements
Selecting elements in the component DOM output
Asserting expected behavior
Testing presentational components
Creating snapshot tests
Testing expected properties
Using the debug method
Debugging the entire component DOM
Debugging specific component elements
Summary
Questions
Chapter 3: Testing Complex Components with React Testing Library
Technical requirements
Testing user events
Simulating user actions with fireEvent
Simulating user actions with user-event
Testing components that call event handlers in isolation
Testing components that interact with APIs
Requesting API data with fetch
Creating mock API data with MSW
Testing the DrinkSearch component
Using MSW in development
Implementing test-driven development
Building the Vote component using TDD
Building a registration form using TDD
Summary
Questions
Chapter 4: Integration Testing and Third-Party Libraries in Your Application
Technical requirements
Testing integrated components
Using integration testing with the Vote component
Planning test scenarios better suited for isolated testing
Testing components that use the Context API
Testing a context consuming Retail component
Testing the Cart component in isolation
Testing the Product component in isolation
Testing the ProductDetail component in isolation
Testing context errors using error boundaries
Using integration testing to test view product details
Testing components that use Redux
Creating a custom render method for testing Redux consuming components
Using the test Redux Provider in tests
Testing components that use GraphQL
Testing Components that use Material-UI
Adding an ARIA label to test a Vote component
Adding a test ID to test a CustomerTable component
Summary
Questions
Chapter 5: Refactoring Legacy Applications with React Testing Library
Technical requirements
Using tests to catch regressions when updating dependencies
Creating the regression test suite
Upgrading the Material UI dependencies
Refactoring tests written with Enzyme
Refactoring tests written with ReactTestUtils
Refactoring tests to comply with common testing best practices
Summary
Questions
Chapter 6: Implementing Additional Tools and Plugins for Testing
Technical requirements
Implementing best practices with Testing Library ESLint plugins
Installing and configuring eslint-plugin-testing-library
Installing and configuring eslint-plugin-jest-dom
Testing accessibility with jest-axe
Selecting the best queries with Testing Playground
Selecting queries using the Testing Playground website
Selecting queries using the Testing Playground Chrome extension
Increasing our testing productivity with Wallaby.js
Installing and configuring Wallaby.js
Writing tests with Interactive Test Output
Summary
Questions
Chapter 7: End-to-End UI Testing with Cypress
Technical requirements
Getting started with Cypress
Enhancing Cypress commands with the Cypress Testing Library
Cypress-driven development
Writing Tests using Cypress design patterns
Creating page objects in Cypress
Creating custom Commands in Cypress
Testing APIs with Cypress
Writing Gherkin-style tests with Cucumber
Using React Developer Tools with Cypress
Summary
Questions
Answers
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Why subscribe?
Other Books You May Enjoy
Packt is searching for authors like you
Leave a review - let other readers know what you think
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Simplify Testing with React Testing Library
Next
Next Chapter
Preface
Table of Contents
Preface
Chapter 1
: Exploring React Testing Library
Technical requirements
Introducing the DOM Testing Library
What is the DOM Testing Library?
Guiding principles
Executing test cases with Jest
Running tests with Jest
Enhancing Jest assertions with jest-dom
Adding jest-dom to a project
Advantages of using jest-dom with Jest
Testing implementation details
Problems with implementation detail-focused tests
Implementation detail-focused test example
How to move away from implementation detail testing
Summary
Questions
Chapter 2
: Working with React Testing Library
Technical requirements
Adding React Testing Library to existing projects
Manual installation
Automatic installation with create-react-app
Structuring tests with React Testing Library
Rendering elements
Selecting elements in the component DOM output
Asserting expected behavior
Testing presentational components
Creating snapshot tests
Testing expected properties
Using the debug method
Debugging the entire component DOM
Debugging specific component elements
Summary
Questions
Chapter 3
: Testing Complex Components with React Testing Library
Technical requirements
Testing user events
Simulating user actions with fireEvent
Simulating user actions with user-event
Testing components that call event handlers in isolation
Testing components that interact with APIs
Requesting API data with fetch
Creating mock API data with MSW
Testing the DrinkSearch component
Using MSW in development
Implementing test-driven development
Building the Vote component using TDD
Building a registration form using TDD
Summary
Questions
Chapter 4
: Integration Testing and Third-Party Libraries in Your Application
Technical requirements
Testing integrated components
Using integration testing with the Vote component
Planning test scenarios better suited for isolated testing
Testing components that use the Context API
Testing a context consuming Retail component
Testing the Cart component in isolation
Testing the Product component in isolation
Testing the ProductDetail component in isolation
Testing context errors using error boundaries
Using integration testing to test view product details
Testing components that use Redux
Creating a custom render method for testing Redux consuming components
Using the test Redux Provider in tests
Testing components that use GraphQL
Testing Components that use Material-UI
Adding an ARIA label to test a Vote component
Adding a test ID to test a CustomerTable component
Summary
Questions
Chapter 5
: Refactoring Legacy Applications with React Testing Library
Technical requirements
Using tests to catch regressions when updating dependencies
Creating the regression test suite
Upgrading the Material UI dependencies
Refactoring tests written with Enzyme
Refactoring tests written with ReactTestUtils
Refactoring tests to comply with common testing best practices
Summary
Questions
Chapter 6
: Implementing Additional Tools and Plugins for Testing
Technical requirements
Implementing best practices with Testing Library ESLint plugins
Installing and configuring eslint-plugin-testing-library
Installing and configuring eslint-plugin-jest-dom
Testing accessibility with jest-axe
Selecting the best queries with Testing Playground
Selecting queries using the Testing Playground website
Selecting queries using the Testing Playground Chrome extension
Increasing our testing productivity with Wallaby.js
Installing and configuring Wallaby.js
Writing tests with Interactive Test Output
Summary
Questions
Chapter 7
: End-to-End UI Testing with Cypress
Technical requirements
Getting started with Cypress
Enhancing Cypress commands with the Cypress Testing Library
Cypress-driven development
Writing Tests using Cypress design patterns
Creating page objects in Cypress
Creating custom Commands in Cypress
Testing APIs with Cypress
Writing Gherkin-style tests with Cucumber
Using React Developer Tools with Cypress
Summary
Questions
Answers
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Why subscribe?
Other Books You May Enjoy
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset