1 minute read

input

20 * blir andre argument og så videre.

21 */ 22 resultat = funksjon(...inndata) 23 erLike = resultat === forventetUtdata 24 } catch (error) {

25 /* 26 * Fordi "funksjon" er under utvikling mens vi tester,

27 * kan den krasje. I så fall lagrer vi feilen

28 * til variabelen "feil" og logger den til konsollen.

29 */ 30 feil = error 31 console.log(error)

32 } 33 </script>

34 35 <!-36 Emojier som gjør det lett å se om testene 37 passerte, feilet eller krasjet. 38 Vi har valgt emojier med forskjellig form 39 i tillegg til farge for å hjelpe fargeblinde. 40 -->

41 {#if feil}��{:else if erLike}✅{:else}❌{/if}

42 <!-43 Viser forventet inndata og utdata. 44 Bruker JSON.stringify for å vise kodedetaljer, 45 som hakeparenteser og hermetegn, rundt dataene. 46 --> 47 <span class="data">{JSON.stringify(inndata)}</span>

48 -> 49 <span class="data">{JSON.stringify(forventetUtdata)}</span> 50 <!-- Hvis testen feilet eller krasjet, vil vi vise mer --> 51 {#if feil || !erLike} 52 <ul> 53 <li>

54

55 {#if feil} <!--

56

57 58 --> Begrenser oss til "feil.message", som er en oppsummering. Brukeren kan åpne konsollen for å se hele feilmeldingen.

59 KRASJET: <span class="data">"{feil.message}"</span>

60 {:else}

61

Fikk -> <span class="data">{JSON.stringify(resultat)}</span> 62 {/if} 63 </li> 64 </ul> 65 {/if}

66 67 <style> 68 .data { 69 font-family: monospace; /* Kodeskrift */ 70 white-space: pre; /* La alle mellomrom stå */

71 } 72 </style>

Øverst i komponenten har vi angitt følgende egenskaper: funksjon, inndata og forventetUtdata. Ovenfor disse har vi skrevet kommentarer som forklarer hva slags data de skal motta. Like nedenfor har vi angitt de tre variablene feil, erLike og resultat, som vi skal bruke til å lagre utfallet av testen.