2 minute read

style

skjedd i utgangspunktet. Det er imidlertid umulig å ikke gjøre feil i ny og ne, men en god strategi kan være som følger: Fiks, le og lær! Først retter du opp det som gikk galt, så ler du litt, og så gjør du det du kan for å unngå at det skjer igjen. I vårt tilfelle lærte vi at vi alltid må dobbeltsjekke bindinger i koden. Bonusen ble at vi fikk et eksempel vi kunne bruke til å demonstrere feilsøking og testing.

Kanskje skjønte du hva feilen var, allerede før vi begynte å feilsøke. Det er i så fall kjempebra! Det er ofte lettere å se feil i koden som andre har skrevet, enn i koden man skriver selv. Dette er en av grunnene til at programmerere ofte ser over hverandres kode, gjerne mens de skriver den. Vi snakker mer om verdien av kodesamarbeid i kapittel 6.

Slik ser src/routes ut når vi jobber med dette delkapittelet.

En samling med funksjoner som kan være til nytte flere steder i et dataprogram, kalles for et bibliotek (library på engelsk).

2.6 Enhetstester

En enhetstest er en test som sjekker et lite stykke kode, altså en enhet. Det vanligste formålet med en enhetstest er å sjekke at dataene vi får tilbake fra en funksjon, stemmer overens med det vi forventer. I motsetning til testene vi lærte om i delkapittel 2.4, utfører vi ikke disse enhetstestene selv. I stedet skriver vi kode og lar datamaskinen utfører testene for oss.

I dette delkapittelet jobber vi med disse filene:

• • • _bibliotek/hjelpemidler-strenger.js er et bibliotek vi holder på å skrive. _komponenter/ErLikTest.svelte er en komponent som utfører én enhetstest. streng-testsamling.svelte er en testsamling med hjelpemiddelstrenger som bruker komponenten ErLikTest til å utføre tester.

Vi begynner med å lage ErLikTest.svelte som skal regne ut utfallet av én test og si om resultatet er som forventet eller ikke.

1 <!-- _komponenter/ErLikTest.svelte --> 2 <script> 3 /** Funksjonen vi ønsker å teste. */ 4 export let funksjon 5 /** Argumentene funksjonen skal få. Oppgis som et array. */ 6 export let inndata 7 /** Resultatet vi forventer at funksjonen skal returnere. */ 8 export let forventetUtdata

9 10 let feil 11 let erLike 12 let resultat

13 14 try {

15 /* 16 * Når vi skriver "enFunksjon(...etArray)",

17 18 * legger datamaskinen inn verdiene i "etArray" * som argumenter til funksjonen:

19 * Første verdi blir første argument, andre verdi

This article is from: