Testing your AngularJS application
For years, testing frontend code was a complex task. Running tests across different browsers and platforms was complicated, and since most of the application code was unstructured, test tools mainly focused on UI E2E tests. However, the shift towards MVC frameworks allowed the community to create better test utilities, improving the way developers write both unit and E2E tests. In fact, the AngularJS team is so focused on testing that every feature developed by the team is designed with testability in mind.
Furthermore, platform fragmentation also created a new layer of tools called test runners, which allow developers to easily run their tests in different contexts and platforms. In this section, we'll focus on tools and frameworks associated with AngularJS applications, explaining how to best use them to write and run both unit and E2E tests. We'll start with the test framework that will serve us in both cases, the Jasmine test framework.