The end-to-end tests are conceptually similar to integration tests, but they validate the entire business flow of the application. The main purpose of this type of test is to check whether any flow stages are corrupted. Many developers get confused about the difference between end-to-end and integration tests.
Let's say the big difference is that the integration tests validate the integration of a part of the application with other microservices, tools, or vendors. However, end-to-end tests validate an application business flow and not the integration with a smaller follow-up.
It is possible to have several end-to-end tests validating several different flows. In the case of our application, the flow that we are going to test is as follows:
- Create a user.
- Create a news article for each type of news service (famous, politics, and sports).
- Search for all...