WA3140

Angular Unit testing with Jasmine Training

Unit tests are the base platform of programming tests, the piece you should build before you create other kinds of tests or even your core code. In this two day Jasmine course, students will gain a solid understanding of Unit Testing fundamentals and how to effectively apply them in Jasmine. Examples and hands-on labs, include noth core JavaScript and TypeScript/Angular. Get ready to master the leading unit testing framework!
Course Details

Duration

2 days

Skills Gained

  • Use both synchronous and asynchronous tests with Angular components, pipes and services
  • Write tests that include Angular routing and incorporate spies and mocks
Course Outline
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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