04/10/2023 - 04/11/2023
10:00 AM - 06:00 PM
Online Virtual Class
USD $1,600.00
Enroll
05/08/2023 - 05/09/2023
10:00 AM - 06:00 PM
Online Virtual Class
USD $1,600.00
Enroll
06/12/2023 - 06/13/2023
10:00 AM - 06:00 PM
Online Virtual Class
USD $1,600.00
Enroll

Objectives

Students will learn how to use both synchronous and asynchronous tests with Angular components, pipes and services.

Students will also have opportunities to write tests that include Angular routing and incorporate spies and mocks.

Duration

Two days

Outline for Angular Unit testing with Jasmine Training

Chapter 1. Unit testing in Jasmine

  • Software Testing
  • Types of tests
  • Test Pyramid
  • Unit Tests
  • Jasmine, Karma and Angular
  • Jasmine
  • Karma
  • Basic Terminology
  • Test Suite
  • Spec
  • Assertion
  • Matchers
  • Setup and Teardown
  • A Test Suite
  • Auto-Generated Angular Test Suites
  • Run a Test
  • Summary

Chapter 2. Jasmine Configuration

  • Setup and Teardown
  • Setup/Teardown Example
  • Order of Execution
  • Nested Test Suites
  • Nested Test Suites Order of Execution
  • Nested Setup/Teardown Order of Execution
  • Custom Matchers
  • Interface
  • Matcher Factory
  • Use the Matcher
  • Run the Tests
  • Disabling Suites and Specs
  • The this Keyword
  • Summary

Chapter 3. Testing - Components, Pipes and Services

  • Testing Components
  • Testing the Class Only
  • Example Component
  • Test Component Class
  • Test Component Class Example
  • Test Component
  • Test Component Example
  • TypeScript async/await
  • Change Detection
  • DOM Element(s)
  • Testing Pipes
  • Pipe Class Example
  • Pipe Spec Example
  • Testing Services
  • Service Class Example
  • Service Spec Example
  • Expecting an Error
  • Summary

Chapter 4. Testing – DOM, Routing and Code Coverage

  • Testing in Angular
  • Components
  • Testing the DOM
  • DOM Testing vs End-to-End Testing
  • TestBed
  • TestBed Use Cases
  • Using TestBed
  • ComponentFixture
  • Get the Component and DOM Element
  • Selecting DOM Elements with NativeElement
  • Selecting DOM Elements with DebugElement
  • Selection Examples
  • Accessing Text
  • Button Clicks
  • Routing
  • Routing Test Setup
  • Routing Spec
  • Code Coverage
  • Detailed Coverage Summary
  • Details
  • Summary

Chapter 5. Integration Testing

  • Integration Testing
  • Spies
  • Service Class Example
  • Spec
  • Using a Spy to Return a Fixed Value
  • Using a Spy to Return a Dynamic Value
  • Injection
  • Injection Example
  • Injection in a Test Suite
  • Mocks
  • Summary

Lab Exercises

Lab 1. Run a Simple Test
Lab 2. Running and Debugging Tests in Karma
Lab 3. Test a Pipe and a Service
Lab 4. Code Coverage
Lab 5. Spies
Lab 6. Build an Asynchronous Test