Front-end Testing 101: Integration and End-to-end Testing
Delve into front-end testing principles, learn best practices for writing enduring tests, and discover strategies for E2E testing and integration into CI pipelines. Gain actionable testing insights.
Stefano is a front-end developer and Cypress ambassador. He’s passionate about testing, automation, and learning. He developed every kind of UI: games, product configurators, drawing tools, highly responsive websites, and mobile apps. He loves creating quality products, good testing confidence, sharing his knowledge, and working with passionate teams. He's currently focused on React, TypeScript, and all their ecosystems. Stefano wrote a big UI Testing Best Practices project on GitHub and speak regularly at meetups and conferences.
Join 3.1 million developers at
What You'll Learn
- Write Jest tests using assertions, grouping, and lifecycle hooks to verify front-end behavior
- Differentiate unit, component, integration, UI integration, E2E, and visual regression tests by tradeoffs
- Apply testing rules to design simple, independent tests that fail before code and pass after changes
- Create Cypress E2E tests for key user flows with stable selectors and clear failure feedback
- Stabilize Cypress tests using automatic waits, execution order, and determinism strategies (data, DB reset)
- Intercept and assert on AJAX requests and payloads in Cypress to validate auth flows and status codes
- Implement Cypress custom commands, fixtures, and stubs to test user flows without a working back-end
Learning Roadmap
1.
Introduction
Introduction
2.
E2E Testing
E2E Testing
3.
The First E2E Test
The First E2E Test
13 Lessons
13 Lessons
4.
Polishing the E2E test
Polishing the E2E test
10 Lessons
10 Lessons
5.
Ajax Requests
Ajax Requests
9 Lessons
9 Lessons
6.
Custom Commands
Custom Commands
10 Lessons
10 Lessons
7.
UI Integration Tests
UI Integration Tests
9 Lessons
9 Lessons
8.
Other Best Practices
Other Best Practices
2 Lessons
2 Lessons
9.
Bonus Section
Bonus Section
4 Lessons
4 Lessons
11.
Appendix
Appendix
4 Lessons
4 Lessons
Stefano Magni
I'm a passionate JavaScript engineer, currently focused on React and TypeScript. I love creating high-quality products, learning and sharing my knowledge, helping people, speaking at conferences, and facing new challenges.
Trusted by 3.1 million developers working at companies
Anthony Walker
@_webarchitect_
Evan Dunbar
ML Engineer
Software Developer
Carlos Matias La Borde
Souvik Kundu
Front-end Developer
Vinay Krishnaiah
Software Developer
Built for 10x Developers












Free Resources