Tests are very important for any modern web application, and Angular includes some testing tools by default, such as Jasmine, Karma, and protectors for unit tests and end-to-end tests. Let's look at the main focus of each tool, in order to see the differences:
| Unit Tests | End to End Tests |
|---|---|
| Test a single component, service, pipe, and so on. | Test the whole application |
| Test a single, specific behavior. | Test real-world situations |
| Require mocking the backend to test. | Test important features on complete applications |
| Test edge cases on the most detailed level. | Do not test edge cases |
The preceding table is simple, but we can see all of the main differences between unit tests and end-to-end tests, also know as e2e tests. Also, both tools use the Jasmine framework, a behavior-driven development framework for testing JavaScript code.
You can...