TDD - Test Driven Development for JavaScript - Foundation

Kort om undervisningen

Kurset giver en introduktion til unit testing og Test Driven Development (TDD) i JavaScript-applikationer. På kurset lærer du at anvende TDD-principper og -værktøjer til at dokumentere og verificere, at koden gør som du forventer, hvilket især er relevant i forbindelse med refaktoreringer og hurtigt skiftende kode i større JavaScript-applikationer.

I de seneste år har der været en kraftigt øget interesse for JavaScript, grundet de enormt kraftfulde web­løsninger du kan lave vha. AJAX. Dette er yderligere forstærket af HTML5-standarden, som bl.a. er en relevant platform til smartphone-applikationer. Hvad end du leverer til den private forbruger eller til virksomheder, stilles der i dag højere krav til det, der leveres. TDD sikrer en veltestet kode, som er med til at skabe løsninger af høj kvalitet. Den høje kvalitet, sammenholdt med at TDD dokumenterer funktionaliteten, er for flere og flere udviklingshold helt essentiel, især når der benyttes agile udviklingsmetoder, fx Scrum og eXtreme Programming.

Indhold

  • Introduktion til TDD og hvordan det praktiseres i en JavaScript-kontekst
  • BusterJs – overblik over det unit test framework vi anvender her. BusterJs ligger tæt op ad andre frameworks, så det er nemt at skifte
  • JavaScript-­koncepter: ­ JavaScript byder på mange fordele, men også udfordringer. Her vil vi kigge på nogle af de udfordringer der kan være, herunder hvordan man skriver testbare funktioner og håndterer scope­problematikker
  • Stubs, mocks af simulation af XmlHttpRequest ­ værktøjer til at teste funktioner uden at være afhængig af f.eks. eksterne ressourcer
  • Unit­ vs integrations­test: ­ mange har svært ved at adskille begreberne unit­ og integrations­test fordi grænsen mellem en unittest og en lille integrationstest kan være subtil
  • Browser test vs. lokal test (NodeJS) ­ 
  • En kort introduktion til hvordan man laver egne “antagelser” (personlige assertions)

Undervisningen er en blanding af oplæg og praktiske øvelser. 

Forudsætninger

Det forudsættes, at deltagere kan basal JavaScript svarende til kursus [LB1740] eller JS - JavaScript og jQuery - Foundation, herunder har styr på hvordan du definerer funktioner og objekter. Desuden vil det være en fordel men ikke et krav, at du kender til mere komplicerede JavaScript-elementer, såsom closures og de udfordringer som scope kan medføre.

Målgruppe

JavaScript-­udviklere, der gerne vil forbedre kvaliteten af deres udvikling gennem tests. Dette kan både være med henblik på dokumentation af funktionalitet, refaktorering, at forhindre fejl i at genopstå og håndtering af kode, der ændrer sig hurtigt.

Efter kurset kan deltageren

Efter kurset vil du kunne udføre unit­testing og TDD i JavaScript herunder skrive testbare funktioner, og du vil kunne håndtere nogle af de mere komplicerede udfordringer, som større JavaScript-applikationer stiller.

Videre forløb

Efter kurset kan deltagere eksempelvis deltage på:

Kontakt gerne Lund&Bendsen ved hjælp af vores kontaktformular eller ring til telefon (+45) 33 861 861 for at høre nærmere.