Thomas Hilzendegen im Interview

„Das Angular CLI liefert mit Jasmine, Karma und Protractor eine solide Basis für Tests“
3 Kommentare

Auch Thomas Hilzendegen hat unsere drei Fragen zu Angular beantwortet: Was ändert Ivy, welche Anwendungen profitieren von Angular und welches Testing-Tool braucht man? Weiter geht’s mit unserer Interview-Serie!

Entwickler: Angular hat den Ruf, die beste Wahl für Enterprise-Anwendungen zu sein. Wie stehst du dazu – für welche Einsatzzwecke rätst du zur Nutzung von Angular?

Thomas Hilzendegen: Dies sehe ich ganz genauso. Das Framework ist ein Allround-Talent für jegliche Einsatzzwecke. Für eine PWA, eine hybride Cordova-App oder die klassische SPA im Browser, wäre Angular meine erste Wahl. Das Ökosystem (CLI, Packages, Libraries) und die Community, sowie das verlässliche Backing durch das Team bei Google selbst ist das Fundament, auf das alle bauen können (und sollten).

Entwickler: Jede Anwendung sollte getestet werden. Welches Testing-Tool muss man für Angular unbedingt kennen (und warum)?

Thomas Hilzendegen: Hier liefert das Angular CLI mit Jasmine, Karma und Protractor schon eine solide Basis, mit der wunderbar Unit- als auch End-to-End-Tests erstellt werden können. Dazu würde ich z.B. noch ‚ts-mockito‘ empfehlen, um sehr einfach Mocks zu erstellen und diese nach Belieben mit dem für den Test notwendigen Verhalten konfigurieren zu können.

JavaScript Days 2019

JavaScript Testing in der Praxis (Teil 1 + 2)

mit Dominik Ehrenberg (Crosscan) und Sebastian Springer (MaibornWolff)

Fortgeschrittene schwarze Magie in TypeScript

mit Peter Kröner (‚Webtechnologie-Erklärbär‘)

Entwickler: Angular 9 mit Ivy kommt im Herbst. Worauf bist du besonders gespannt und welche Auswirkungen wird Ivy auf das Ökosystem haben?

Thomas Hilzendegen: Ich hoffe, dass Ivy gerade hinsichtlich Web Components (dazu entsprechend Angular Elements) die Tür komplett aufstößt, so dass hier minimalgroße, isolierte (und damit in jedem anderen Framework – gerade in Legacy Anwendungen von ‚damals‘ – verwendbare) Komponenten entstehen können. Dadurch kann man sehr solide alte, gewachsene System in kleinen Teilen in die ‚neue‘ Welt migrieren, ohne den mehrere Jahre andauernden Relaunch als Ganzes durchführen zu müssen.

Thomas Hilzendegen unterstützt als Consultant bei der Thinktecture AG Entwickler und Architekten in den verschiedensten Firmen bei der Konzeption und Entwicklung von End-to-End cross-plattform Lösungen mit Angular im Frontend und .NET Core im Backend. Beginnend mit der Architektur bis zur Implementierung der kleinsten Komponenten lebt er diese Begeisterung tagtäglich aus.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

3 Kommentare auf "„Das Angular CLI liefert mit Jasmine, Karma und Protractor eine solide Basis für Tests“"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Philip Lysenko
Gast

Neben Karma kann man in Angular auch Jest als Unit-Test-Runner benutzen. Nach meiner Erfahrung ist dieser durch die etwas schnellere Start-Zeit und einfacheres Mocking angenehmer zu benutzen.

Für visuelle Tests kann man Cypress statt Protractor benutzen. Der Vorteil ist, dass man nicht auf ExpectedConditions warten muss, also für Click-Aktionen ist kein async isClickable(someElement) .. notwendig

Philip Lysenko
Gast

Cont: daneben bietet Cypress von Haus aus ein Mock-Backend und einen Test-Recorder an, mit dem man Videos in der Pipeline (wenn headless) als Artefakte generieren kann. Der einzige Nachteil ist, dass Firefox und co erst in der Zukunft unterstützt werden; aktuell ist der Support nur für Chromium Browser.

Wer Jest und Cypress ausprobieren möchte, kann sich einfach ein Projekt mit NRWL/NX generieren

Philip Lysenko
Gast

Cont: ein weiteres Tool, was das Testing erleichtern kann ist ng-mocks für das Mocken von Komponenten. Damit müssen wir zB keine NO_ERRORS-Schemas definieren, die Fehler auffangen und brauchen weniger code für den Test-Setup.

Ebenfalls interessant is sonar-ts (SonarQube für Typescript), mit dem man zB cyclomatische Komplexität und andere code-smells in Typescript finden kann

X
- Gib Deinen Standort ein -
- or -