Real World Testing with Cypress (RWT) is a four-course curriculum that teaches everything you need to know about testing modern web applications with Cypress.
We believe Cypress is the best end-to-end testing tool. However, creating the best end-to-end testing tool is only part of the solution. Over the years we have noticed that many of our users and customers struggle with testing. They don’t get hung up on Cypress itself so much, but rather struggle to understand testing principles and concepts in general.
Why We Created Real World Testing With Cypress
Before we began this project we looked around to see what testing education material already existed. Much to our surprise, there wasn’t anything out there that was a single place for developers to learn all that they needed to know to write great tests, and so Real World Testing with Cypress was born. This curriculum is our attempt to solve that problem.
We wanted to create educational material that would teach several different personas everything they needed to know about testing, including Junior Developers, QA professionals, CTOs, Senior Developers, etc. There is something here for everybody and we are just getting started.
What You Will Learn
The curriculum contains four courses and over 25 lessons.
How to test a simple TodoMVC app with Cypress.
First, we teach you how to test a simple TodoMVC application with Cypress. We thought it would be best for you to “get your hands dirty” right away.
The foundations you need to write great tests.
Next, we teach you the foundational knowledge you need to write great tests. We cover topics like “testing mindset,” knowing what to test, the difference between manual and automated testing, the differences between unit, integration and end-to-end tests, etc.
Absolute fundamentals of Cypress you must know to be successful
Then we cover Cypress fundamentals, which go over all of the important Cypress-specific knowledge you need to write the best tests possible with Cypress. Even if you have been using Cypress for years, I promise there will be some gold nuggets in there.
Advanced Cypress concepts to take your tests to the next level.
Finally, we cover advanced Cypress concepts. In this course, we teach you how to initialize and seed your database for testing, how to run tests in CI, how to test network requests, how to build custom Cypress commands, etc.
In addition, we have also prepared over 30+ examples of real-world tests against the Real World App. This application has been around for a couple of years now, but since it contains some rather advanced concepts and examples, much of it was beyond reach for people just getting started. To solve this problem we have written in-depth articles for every example which explains line by line what each test is doing.
These examples put into practice all of the principles and concepts explained within the curriculum.
Finally, we aim to demonstrate how to test more real-world applications against various technologies and providers.
How to Build and Test a Next.js and Shopify Store
In this six-part tutorial, we teach you:
- How to create a Shopify partners store
- How to create a custom front-end for your store with Next.js,
- How to test the app with Cypress
- How to run your tests in CI with GitHub Actions
- How to run your tests in parallel with the Cypress Dashboard
- How to deploy your app to production on Vercel
We Love Open Source
We love open source here at Cypress and are fully committed to making the open-source community as best as it can be. Almost everything we do is done out in the open, including RWT. All of the content and the application that contains it is open source and released under the MIT license. All of the related repositories and applications are as well.
We hope RWT will help you on your testing journey to become a better developer and write better tests for your apps. We also hope you will contribute back to RWT to help us make it even better. Even fixing a simple typo goes a long way, so please open a PR with your contribution.
Happy testing friends.