Den här veckan (vecka 53) har ni hemstudier i vad testning är och hur man skriver tester för JavaScript-kod och sedermera hur man skriver tester för React-komponenter.

Ni ska när ni är klara ha en aning om vad TDD (Test-Driven Development) är för något, vad det används till och varför det är en bra metod att tillämpa när appar/projekt blir mer komplexa. Ni ska även kunna skriva enklare komponent-tester i React med hjälp av Jest och React Testing Library.

Läs samtliga länkade artiklar, kolla på länkade videos och gör även exemplena i videona. Krav finns på att kunna skriva (enkla) tester i projektuppgiften som ni får efter nyår.

Wikipedia om testdriven utveckling

Testdriven utveckling (engelska: test-driven development, TDD) är en systemutvecklingsmetod som sätter starkt fokus på automatiserad enhetstestning av varje programblock, följt av integrationstester och användartester.

Metoden förespråkar att ingen programkod får införas eller ändras utan att testfall har skrivits först. Innan kod checkas in ska utvecklaren lokalt köra igenom de nya testfallen för den senaste kodändringen, samt alla testfall. Först när testfallen har exekverats och fått godkänt är utvecklaren tillåten att checka in kodändringen.

Med TDD uppnår man hög testtäckning, bra design på programkoden och dokumentation för nya utvecklare. Det ultimata motivet är låg kostnad för kodförändring över tiden.

Tack vare TDD törs utvecklaren göra även genomgripande förändringar av koden och genom en bred testsvit får man veta om den egna kodändringen haft sönder annan kod i systemet.

Källa: https://sv.wikipedia.org/wiki/Testdriven_utveckling


Artiklar och videos

Rekommenderar att ni kollar på/läser dem i den här ordningen.


1. TDD Changed My Life

Varför testning är viktigt och faktiskt kan underlätta och göra en utvecklares liv enklare (även om det troligen inte känns som det ifrån allra första början).

https://medium.com/javascript-scene/tdd-changed-my-life-5af0ce099f80


2. How To Test Your React Apps With The React Testing Library (fram till ”Project Setup”)

Lång men väldigt bra artikel som först går igenom de olika typerna av automatiserade tester som finns, ger en kort introduktion till TDD och därefter bygger en To-Do-app (yay!) med hjälp av TDD.

Delen fram till ”Project Setup” är viktigast då ni bara behöver känna till TDD och hur det går till, inte kunna skriva en app utifrån TDD!

https://www.smashingmagazine.com/2020/07/react-apps-testing-library/


3. Introduction To Testing In JavaScript With Jest

Introduction To Testing In JavaScript With Jest

4. Testing Overview (React Docs)

Väldigt kort översikt över testning i React.

https://reactjs.org/docs/testing.html


5. What Is React Testing Library?

Vad är RTL och varför skulle man vilja använda det?

What Is React Testing Library?

6. Intro to React Testing Library

Introduktion till RTL av Leigh Halliday. Hands-on om hur man enkelt kan testa React-komponenter. Går igenom introduktion, installation, snapshots, hitta element och validering av attribut på sagda element.

Intro to React Testing Library

7. How To Test React Components – Learn To Use React Testing Library

Kort, väldigt basic tutorial i hur man kan skriva tester för React-komponenter.

How To Test React Components – Learn To Use React Testing Library

8. Intro to React Testing [Jest and React Testing Library Tutorial]

En introduktion till generella test-principer följt av hur man testar React-komponenter med hjälp av Jest och React Testing Library.

Intro to React Testing [Jest and React Testing Library Tutorial]

9. How to use React Testing Library Tutorial

Praktisk implementering av RTL, bra som komplement till ovan video.

https://www.robinwieruch.de/react-testing-library