Angular Testing Masterclass (Angular 14)
What you'll learn
- Code in Github repository with downloadable ZIP files per section
- Testing Fundamentals
- Angular Unit Testing Best Practices
- Angular E2E Testing with Cypress
- Angular Component and Service Testing
- Asynchronous Angular Testing with fakeAsync and Async
- Continuous Integration with Travis CI
- No prior knowledge of Testing is needed
- Prior knowledge of Angular is important
This Course in a Nutshell
This video course, complete with a running Github repository is a complete step-by-step guide to Angular Testing in general. We are going to take a small sample application that is already completed, but that has no tests yet.
We are then going to discuss the best approach to test each part of the application, and we are going to write the tests step-by-step, explaining every decision along the way.
We are going to start by writing Unit Tests for the multiple parts of the application, and then on a later stage, we are going to learn how to perform End to End (E2E) tests.
More than talking about how to test, this course will also cover when to test and why, as well as all sorts of testing best practices.
Starting from scratch, we are going to introduce behavior-driven testing concepts, by quickly introducing the main concepts and utilities of the Jasmine Testing framework.
We are then going to introduce some testing best practices, and we are going to talk about mocks and Jasmine spies. We will then introduce some of the Angular Testing utilities such as the Angular TestBed, which we will be using to test a couple of simple Angular services.
We are then going to move on to test a more complex Angular service and talk about Angular HTTP request mocking, after which we will cover the testing of Angular components.
We are going to learn how to test Angular components with and without the DOM, what parts of the component to test, and we are going to cover in detail asynchronous tests using the fakeAsync and async utilities.
We will cover how to test several types of typical Angular components, such as for example presentational components and smart or container components, and we will learn how to mock Angular Observable-based services.
After unit testing the multiple components of our application, we are going to then create a test suite of End to End tests using Cypress.
Once we have the tests written for our application, we are then going to deploy them to Travis CI, and make sure that the tests are triggered with every commit.
At the end the course, we are going to generate a test coverage report, and discuss some of the metrics.
Table of Contents
This course will go over the following topics:
Introduction to the Jasmine testing framework
Introduction to Jasmine spies
Unit Testing of simple Angular Services
Jasmine testing best practices
Introduction to Angular testing utilities
Testing of complex Angular services
Mocking of Angular HTTP requests
Unit Testing of Angular Components
Asynchronous Angular Testing with fakeAsync and async
Mocking of Observable-based Services
Unit Testing of Presentational Components
Unit Testing of Smart or Container Components
Simulation of user interaction in unit tests
End to End Angular Testing with Cypress
Continuous Integration with Travis CI
Angular CLI Test Coverage Reports
What Will You Learn In this Course?
With this course, you will feel comfortable writing Angular tests for multiple types of services and components. You will know not only the multiple Jasmine and Angular testing utilities available, but you will also know when to use them and why.
You will be familiar with Angular testing best practices, and you will know how to write useful tests that don't take a lot of time to write and that contribute a lot for the long term health of your project.
Have a look at the course free lessons, and please enjoy the course!
Who this course is for:
- Angular Developers, looking for a detailed guide to Angular Unit Testing and End to End Testing
Hello, I'm Vasco Cavalheiro and I'm an online instructor at the Angular University.
Over the years I have helped over 100k developers to learn the Angular framework and its surrounding ecosystem of technologies.
Check out my Linkedin in the links section on the top right.
About the Angular University:
The Angular University aims to be the one place that you go in order to learn and keep up with the whole Angular ecosystem. We provide premium quality video tutorials, screencast style.
No matter if you are a beginner, intermediate or advanced in Angular, we have several courses for you.
More about me:
I'm a Software Developer with many years of experience, very seasoned building user interfaces with Angular. I've worked as a Frontend Developer/Architect in a large variety of enterprise projects throughout the years.
I worked on a ton of projects, everything from single page applications to help build the European Criminal Record Information Exchange System, to brand new e-banking portals, to corporate banking portals, and more. I've been a key part of internal framework teams that built frameworks for in-house departments of tens of developers.
I also love to teach, write and talk about technology. I am looking forward to be your Angular instructor,