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...