
Professional Angular Testing
Quality Assurance With Modern Tools: Jest, Cypress and Storybook
Improve Your Software Quality and Make Your Live Easier!
- Duration: 2 days
- Next Date: TBA
- Group discount available
- Individually scheduled
- In-house or remote
- Discount for groups >8 participants
Jest, Cypress and Storybook - The Perfect Combination for Long-Term Quality
This workshop covers all the necessary aspects for testing in Angular. You not only learn the different techniques but also when to use them. An essential part are the hands-on exercises and subsequent discussions, where your individual challenges can also be dealt with.
After this workshop, you will — among other things — be able to …
- … understand when to use unit, components, integration and E2E tests,
- … test asynchronous code,
- … interact with the rendered DOM of a component or component tree,
- … significantly reduce the boilerplate code by using the latest tools,
- … test the layout of the components using screenshots,
- … design your E2E so that they do not influence each other,
- … to avoid unstable E2E tests,
- … to perfectly align your architectures for testability
Video-Intro From Your Course Author, Rainer Hahnekamp


Selected satisfied customers
The course of the training at a glance!
Part 1: Unit Tests
Unit tests with Jest
- Jasmine vs. Jest
- Test Coverage
- Extending Jest
- Asynchronicity
- fakeAsync vs. waitForAsync
- Mocking: jest.mock, jest.fn, jest.spyOn
- Stubbing
Testing of reactivity
- RxJS Marbles for pipe operators
- Use of RxJs Marbles in normal unit tests
- Unit tests for NGRX
Part 2: Component & Integration Tests
Component Tests
- TestBed and Dependency Injection
- DOM interaction
- Change detection
- Component Snapshots
Advanced component tests
- Nested components
- Testing @Input and @Output
- Testing directives and pipes
- Factory methods for reducing boilerplate code
- Spectator
- Testing Library
- Harnesses
- Reuse harnesses
Integration tests
- HttpTestingController
- RouterTestingModule
- NgRx and the MockStore
Best Practices
- Two approaches: London & Detroit
- Test strategies: when should I use what?
- Testable architecture
Part 3: End-to-End Tests with Cypress & Visual Regression
Visual regression with storybook
- Multiple Jest configurations
- Puppeteer
- Storybook
- StoryShots
Cypress
- Overview of existing E2E frameworks
- Difference between Web-Driver and Chrome DevTools protocol
- Cypress and its “awaiting” feature
- The cy object
- Implicit and explicit assertions
Cypress Advanced
- Page Object Models
- cy expand object
- Avoid Flaky Tests
- Mocking of HTTP requests
- Reuse Angular Harnesses
- Selectors and Actions via Accessibility Criterias
Cypress and Beyond
- Optimal test design
- Conditional tests
- Direct communication with the backend
- Unit tests in connection with Storybook
- Unit tests with Component Test Runner
- Test Coverage
Manfred Steyer is a Google Developer Expert (GDE) for Angular and Tursted Collaborator in the Angular team. Together with his team, he looks after customers in the entire German language area. The focus is on business and industrial applications based on Angular.

