Professional Angular Testing: Cypress Edition

Qualitätssicherung mit modernen Werkzeugen: Jest, Cypress und Storybook
Schulung für die langfristige Qualitätssicherung von Angular-Lösungen
Dauer
2 Tage
Nächster Termin
02.11.2023
(1 weiterer Termin)
Level
Grundkenntnisse Angular erforderlich
Ort
Remote
Sprache
Englisch / Deutsch
Preis ab
980€

Rainer Hahnekamp

Erfahrener Softwareentwickler und Architekt für Enterprise Anwendungen.
Betreibt Ng-News, einen wöchentlichen Angular Video-Newsletter.

Jest, Cypress und Storybook – Die perfkete Kombi für langfristige Qualität

Dieser Workshop deckt alle notwendigen Aspekte für das Testen in Angular ab. Sie lernen nicht nur die verschiedenen Techniken sondern auch wann man diese anwendet. Ein wesentlicher Bestandteil sind die Hands-On Übungen und anschließende Diskussionen, wo auch Ihre individuelle Herausforderungen behandelt werden können.

Nach diesem Workshop werden Sie unter anderem in der Lage sein:

  1. zu verstehen, wann man Unit, Komponenten, Integrations und E2E Tests anwendet,
  2. asynchronen Code zu testen,
  3. mit dem gerenderten DOM einer Komponenten oder Komponentenbaum zu interagieren,
  4. den Boilerplate Code durch Einsatz modernster Tools signifikant zu reduzieren,
  5. das Layout der Komponenten durch Screenshots zu testen,
  6. Ihre E2E so zu designen, dass sich diese sich nicht gegenseitig beeinflussen,
  7. instabile E2E Tests zu vermeiden,
  8. Ihre Architekturen auf Testbarkeit hin, perfekt auszurichten

🔥 Bonus: Aktuellste Angular-Features

  • 🚥 Testen und Signals
  • Testen und Standalone Components
  • Testen und Standalone APIs

Video-Intro von Workshop-Autor, Rainer Hahnekamp

 

Highlights

✅ Komplett online – Keine Anreise erforderlich!
✅ Interaktiv: Stellen Sie Fragen und nehmen Sie an Diskussionen teil
✅ Viele Übungen und Live-Coding
✅ Fallstudie dient als Blaupause für eigenen Projekte
✅ Pair-Programming mit Ihrem Trainer

Agenda

Teil 1: End-to-End Tests mit Cypress


Cypress Grundlagen

  • Übersicht über bestehende E2E Frameworks
  • Unterschied WebDriver und Chrome DevTools Protokoll
  • Das cy Objekt
  • Cypress und sein “Actionability” Feature
  • Queries, Actions & Assertions
  • Vermeiden von Flakiness (instabile Tests)
  • Implizite und explizite Assertions
  • Queries nach Accessibility-Kriterien mit der Testing Library

Cypress Fortgeschritten

  • Page Object Models
  • cy Objekt erweitern
  • Eigene Queries erstellen
  • Mocking von HTTP Abfragen
  • Manipulation von HTTP Abfragen
  • API Tests
  • Tasks
  • Sitzungsdaten cachen mit cy.session
  • Multi-Origins mit cy.origin
  • Optimales Test Design
  • Konditionale Tests
  • Test Coverage


Unit Tests für Angular

  • Jest vs Jasmine
  • Einsatz von Jest
  • Asynchronität
  • fakeAsync vs. waitForAsync
  • Mocking: jest.mock, jest.fn, jest.spyOn
  • Tests mit der inject Funktion bzw. TestBed

Testen von Reaktivität

  • RxJS Marbles für Pipe Operatoren
  • Anwendung von RxJs Marbles in normalen Unit Tests
  • Unit Tests in ngrx


Grundlagen

  • TestBed Konfiguration
  • Unterschiede Standalone und NgModules bei TestBed
  • Mocking von Komponenten, Direktiven und Pipes mit ng-mocks
  • Pro / Contra HttpTestingController
  • RouterTestingHarness

Cypress Component Test Runner

  • Mounten von Komponenten
  • Dynamische Wrapperkomponent
  • Setzen von @Input Properties
  • Direkter Zugriff auf Angulars DI

„Fallbacktechnologien“

  • Angular Harnesses
  • Spectator
  • Testing-Library
  • Zwei konträre Ansätze: London & Detroit
  • Teststrategien: Wann soll ich was verwenden?
  • TDD im Frontend?
  • Testpokal vs. Testpyramide
  • Testbare Architektur
  • Screenshottesting mit Playwright
  • Storybook
  • Infrastruktur für visuelle Regression

Aktuelle Termine

Alle unsere Workshops & Seminare sind jederzeit auch Remote oder In-House verfügbar. Kontaktieren Sie uns für eine Terminvereinbarung
02.11. - 03.11. | 09:00 - 17:00 (CET)
Early Bird bis 15.10.2023
Gruppenrabatt (3+ Personen)
Online |
  Deutsch
 |  Rainer Hahnekamp
ab 980€
13.11. - 15.11. | 14:00 - 18:30 (CET)
Early Bird bis 15.10.2023
Gruppenrabatt (3+ Personen)
US Friendly Time Model
Online |
  Englisch
 |  Rainer Hahnekamp
ab 980€

Individuelle Firmenworkshops

Alle unsere Workshops & Seminare sind jederzeit auch Remote oder In-House verfügbar.
Kontaktieren Sie uns für eine Terminvereinbarung

Jetzt anfragen

FAQs zu unseren Workshops

Wie läuft eine Schulung bei euch ab?

Unsere Seminare rund um Angular sind eine Mischung aus Vortrag, Live-Coding und konkreten Übungen. Gemeinsam setzen wir das Erlernte während des Workshops direkt an einem Beispielprojekt um. Diese Mischung garantiert, dass der Kurs nie langweilig wird und statt grauer Theorie „Hands-On“ gefragt ist.

Unsere Angular Praxis-Schulung richtet sich alle, die künftig Anwendungen mit Angular entwickeln wollen oder dies schon machen und nun die Hintergründe, Zusammenhänge und Building-Blocks des Frameworks besser verstehen wollen.

Die Teilnehmer sollten grundlegende Kenntnisse in der Web-Entwicklung haben (grundlegende Kenntnisse von HTML und JavaScript).

Für fortgeschrittene Angular-Entwickler*innen bieten wir Advanced Seminare und Intensivkurse zu spezifischen Anwendungsfällen.

Unsere Praxis-Schulungen finden als öffentliche Workshops in Seminarräumen zentraler Hotels in Deutschland, Österreich und der Schweiz statt. In-House Schulungen finden bei euch im Büro oder Seminarraum statt.

Alle Kurse sind auch als Remote-Workshops möglich, wo wir uns online im Virtual Classroom treffen, und die Schulung via Videocalls, Screensharing und gemeinsamen Live-Coding abhalten.

Unsere Schulungen werden von erfahrenen Trainern und Software-Architekten durchgeführt. Wir haben in den letzten Jahren namhafte Firmen – u. a. bekannte Banken, Versicherungen, Industriekonzerne – in Sachen Angular betreut. Zu den Trainern gehören bekannte Konferenzsprecher, Autoren von Büchern und Fachartikeln, Blogger, Google Developer Experts und Hochschuldozenten.

Gerade bei dezitierten Firmenschulungen richten wir uns gerne nach euch. Typische Zeiten sind 9:00Uhr bis 16:30/17:00Uhr.

Auf jeden Fall. Seit der Pandemie ist das sogar unser Hauptgeschäftsmodell und wir haben sehr gute Erfahrungen damit gemacht. Wir nutzen eine Kombination aus Screen-Sharing, interaktiven Online-Whiteboards und verbinden uns auf Wunsch während der Übungen zur Unterstützung auch gerne auf Ihrem Rechner. Wie bei unseren On-Site-Schulungen setzen wir auch hier auf eine Kombination aus kurzen Präsentationen, Diskussionen, Live-Coding und Hands-On-Labs.

Da die Anreise wegfällt, sparen Sie auch Zeit und Geld. Außerdem können wir flexibler auf Ihre Terminwünsche reagieren.

Ja, sehr gerne. Genaugenommen ist das einer der Vorteile von dedizierten Unternehmensschulungen. Sie können gerne unsere Agada-Vorschläge gewichten, kürzen oder ergänzen. In der Regel findet auch ca. 2 Wochen vor der Schulung eine Abstimmung mit Ihrem Trainer durch. Auf Wunsch auch schon gerne früher.

Für Angular spricht unter anderem seine weite Verbreitung, aber auch die Tatsache, dass mit Google ein Internet-Gigant, der das Framework auch sehr intensiv nutzt, steht. Bei Google alleine existieren über 2600 darauf basierende Lösungen. Durch die weite Verbreitung existiert eine große Community und somit viel Know-How am Markt sowie (freie und kommerzielle) Produkte, die auf Angular abgestimmt sind. Außerdem bietet Angular vieles von dem, was Sie für große Anwendungen benötigen, ab Werk: Testautomatisierung, Formularverwaltung, Routing etc. Insofern erhalten Sie einen Stack, dessen Bestandteile aufeinander abgestimmt sind und langfristig zusammenspielen.

Die gute Nachricht vorweg: Teilnehmer mit unterschiedlichem Vorwissen sind in der Erwachenenbildung die Regel und nicht die Ausnahme. Deswegen finden Sie auf unseren Übungblättern optionale Hinweise zum Einblenden und Bonus-Übungen, für die, die etwas schneller sind. Natürlich unterstützen wir auch persönlich bei den Übungen.

Falls Sie bei uns eine Firmenschulung buchen, überlassen wir diese Entscheidung prinzipiell Ihnen. Allerdings zeigt die Erfahrung, dass es nicht mehr als 15 Teilnehmer sein sollten, zumal ein Seminar sehr stark von Fragen, Diskussionen und praktischen Übungen lebt.

Bitte installieren Sie die folgenden Software-Pakete auf Ihrem Rechner:

– NodeJS in aktueller Version (wir testen mit aktueller LTS-Version)
– Angular CLI (npm i -g @angular/cli)
– Git
– Visual Studio (frei) oder WebStorm/IntelliJ (kommerziell)

Nichts mehr verpassen!

Nie mehr etwas verpassen - abonnieren Sie jetzt unseren Newsletter!
Bitte aktiviere JavaScript in deinem Browser, um dieses Formular fertigzustellen.