Upgrade to Pro — share decks privately, control downloads, hide ads and more …

JavaScript Testing in der Praxis

JavaScript Testing in der Praxis

Testframeworks für JavaScript gibt es wie Sand am Meer und trotzdem sind nicht alle JavaScript-Applikationen so getestet wie sie es sein sollten.

Thorsten Rintelen, Angular- und JS-Entwickler, will mit diesem Workshop die Einstiegshürde für das Testen von Applikationen senken. Du erfährst mehr über die Konzepte und Methoden, die den Testframeworks zugrunde liegen, sodass du das erworbene Wissen in verschiedenen Umgebungen anwenden kannst. Du lernst Tests zu schreiben, den Einsatz von Fixtures und das Testen von asynchronen Operationen. Zum Einsatz kommen Bibliotheken wie Jasmine, Karma und Jest.

Zielgruppe: Dieser Workshop richtet sich an JavaScript-Entwickler, die die Qualität und Stabilität ihrer Applikation verbessern möchten.

Thorsten Rintelen

October 16, 2019
Tweet

More Decks by Thorsten Rintelen

Other Decks in Programming

Transcript

  1. … WEISS WOFÜR TESTS GUT SIND? … SCHREIBT AB UND

    AN EINEN TEST? … SIEHT TESTS ALS SELBSTVERSTÄNDLICH AN? … SCHREIBT ZUERST DIE TESTS (TDD)?
  2. • HILFT BEI REFACTORING • AUTOMATISCHE QUALITÄTSSICHERUNG (CI) • HÖHE

    DER ABDECKUNG? ZIEL: 80% KIRCHE IM DORF LASSEN • VERANTWORTUNG FÜR EIGENEN CODE ÜBERNEHMEN • 20.000 TESTS FÜR GROSSE ANWENDUNGEN
  3. • PROBLEM VERSTEHEN • VORHER ÜBER SZENARIEN NACHDENKEN • GRENZWERTE

    DEFINIEREN / TESTEN • SICHERHEIT FÜR REFACTORING • SCHNELLES FEEDBACK • TESTS MÜSSEN ERFOLGEN, MANUELL ODER AUTOMATISCH • DOKUMENTATION • BESSERER CODE
  4. • KARMA • NPM I KARMA –-SAVE-DEV • NPM I

    KARMA-JASMINE KARMA-CHROME-LAUNCHER --SAVE- DEV • NPM I –G KARMA-CLI • (NPM I KARMA-JASMINE-HTML-REPORTER --SAVE-DEV) • KARMA INIT • KARMA START • JASMINE • HTTPS://JASMINE.GITHUB.IO/ • BROWSER / LAUNCHER • HTTP://KARMA- RUNNER.GITHUB.IO/4.0/CONFIG/BROWSERS.HTML • CI: CHROME HEADLESS
  5. • AAA (= ARRANGE - ACT – ASSERT) • EINFACHER

    TEST • MATCHER (TOBE, TOBETRUTHY…) • BEISPIEL CALC() • HOOKS, BEFORE- / AFTEREACH • WEITERE BEISPIELE TESTS • HTTPS://GITHUB.COM/SSPRINGER82/JSTESTING
  6. • JEST • BEISPIEL IM ANGULAR PROJEKT • KEIN TEST

    IM BROWSER • TESTS WERDEN ASYNCHRON AUSGEFÜHRT • JEST IM VS-CODE (PLUGIN) • HTTPS://GITHUB.COM/JEST-COMMUNITY/VSCODE-JEST • CODE COVERAGE GENERIEREN • ANGULAR TESTS • SEBASTIAN SPINGER • HTTPS://GITHUB.COM/SSPRINGER82/JSTESTING • HTTPS://GITHUB.COM/SSPRINGER82/KATAS