Angular Testing Masterclass (with FREE E-Book)
4.5 (444 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,113 students enrolled

Angular Testing Masterclass (with FREE E-Book)

A complete guide to Angular 9 Unit Testing and End to End (E2E) Testing, including Testing best practices and CI
4.5 (444 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
2,113 students enrolled
Last updated 6/2020
English
English [Auto-generated]
Current price: $104.99 Original price: $149.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5 hours on-demand video
  • 3 articles
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
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
Course content
Expand all 44 lectures 05:07:06
+ Course Kickoff - Development Environment Setup
10 lectures 58:48
Recommended Software Versions
00:18
The Typescript Jumpstart Ebook
03:20
Structuring Angular Unit Tests - Test Setup using beforeEach
06:04
Using Dependency Injection in Angular Testing - The Angular TestBed
07:10
Angular Unit Testing Best Practices and commonly used Test Utilities
06:58
+ Angular Service Testing In Depth
6 lectures 39:58
Testing Angular HTTP Services - Test Setup with the HttpClientTestingModule
05:26
Angular HTTP Service Testing - Step-by-Step Implementation
09:52
Preventing Unintended HTTP Requests using the HTTP Testing Controller
04:37
Testing Angular HTTP Data Modification Services
05:15
Angular HTTP Services - Testing Error Handling
06:01
Angular HTTP Testing - Checking HTTP Request Parameters
08:47
+ Angular Component Testing In Depth
9 lectures 01:05:00
Introduction to Angular Component Testing - Presentational Components
07:17
Angular Component Testing - Test Setup with the async Test Utility
08:43
Angular Component Testing - DOM Interaction
05:28
Angular Test Debugging - How to Trigger Change Detection?
05:00
Angular Component Testing - Course Card List Test Suite Conclusion
06:01
Testing Angular Smart or Container Components - Test Setup
11:29
Mocking Observable-based Services - Testing the Home Component
08:38
Container Component Test Suite - The Home Component
03:30
Simulating User DOM Interaction in Angular Unit Tests
08:54
+ Asynchronous Angular Testing In Depth
9 lectures 01:21:58
Introduction to Asynchronous Angular Testing - Understanding Jasmine done()
08:33
Understanding Asynchronous Testing - a Simple Example
06:52
Understanding the Angular fakeAsync Testing Zone
13:29
Testing Promised-based code - Introduction to Microtasks
13:55
Testing Promise-based code with fakeAsync - Understanding flushMicrotasks
03:57
Testing Asynchronous Code with fakeAsync - Full Example
06:12
Using fakeAsync to test Asynchronous Observables
05:35
fakeAsync in Practice - Fixing the Home component tests
10:22
Understanding the Angular async() Test Zone
13:03
+ Angular E2E (End to End) Testing with Cypress
4 lectures 29:24
Angular (E2E) End to End Testing - Getting Started with Cypress
06:35
Angular E2E (End To End Test) Hello World with Cypress
08:50
How to Mock an HTTP Backend using Cypress
08:12
Simulating User Interaction in Cypress End to End Tests
05:47
+ Preparing an Angular Application for Continuous Integration (CI)
3 lectures 20:19
Angular CLI Code Coverage and Deployment in Production Mode
07:18
Preparing an Angular Application for Continuous Integration (CI)
07:28
Running Cypress E2E Tests using Travis CI
05:33
+ Conclusion
3 lectures 11:39
Other Courses
02:17
Bonus Lecture
01:27
Angular Testing Course - Conclusions and Key Takeaways
07:55
Requirements
  • No prior knowledge of Testing is needed
  • Prior knowledge of Angular is important
Description

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.

Course Overview

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