avlusing og testing

i JavaScript

hva er debugging?

breakpoints

i nettleseren

breakpoints

i koden

console.log('a');
console.log('b');
debugger;
console.log('c');

alert("test");

console.*

console.log()

console.log("Hello world!");

const myObj = { firstname : "John", lastname : "Doe" };
console.log(myObj);

console.group()

console.group("open");
console.log("now");
console.log("you");
console.log("see");
console.log("me");
console.groupEnd();

console.table()

const myObj = { firstname : "John", lastname : "Doe" };
console.table(myObj);

console.warn() & console.error()

console.warn("Warning");
console.error("Error");

console.trace()

function myFunction() {
  myOtherFunction();
}

function myOtherFunction() {
  console.trace();
}

myFunction();

console.assert()

const a = 1;
const b = 2;

console.assert(
  a > b, 
  "a is not bigger than b", 
  [ a, b ],
);

console.time()

console.time("cool");
for (i = 0; i < 100000; i++) {
  console.log("cool");
}
console.timeEnd("cool");

bonus: console.log()

…med stil 😎

testing

testvarianter

Enhetstester

Tester som sjekker logikk internt i en avansert metode (f.eks. utregning av priser).

Integrasjonstester

Hvordan integrerer applikasjonen med seg selv. Kobler gjerne ut deler av appen (f.eks. database, eksterne avhengigheter). Tester hvordan forskjellige biter av appen prater med hverandre. Ende-til-ende-tester-light!

Ende-til-ende-tester

Teste om flyten av en applikasjon fungerer som designet fra start til slutt. Later som om man er brukeren.

testvarianter

Enhetstester

Tester som sjekker logikk internt i en avansert metode (f.eks. utregning av priser).

Integrasjonstester

Hvordan integrerer applikasjonen med seg selv. Kobler gjerne ut deler av appen (f.eks. database, eksterne avhengigheter). Tester hvordan forskjellige biter av appen prater med hverandre. Ende-til-ende-tester-light!

Ende-til-ende-tester

Teste om flyten av en applikasjon fungerer som designet fra start til slutt. Later som om man er brukeren.

⛔️

testvarianter

Ende-til-ende-tester

testrammeverk

Jest

Vitest

Vitest

Vitest

Vite

Vitest

Vite

Testing Library

mocking

Eksterne ressurser (f.eks. nettverkskall, filer DOM-operasjoner) skaper uforutsigtbarhet ved testing.

 

Vi vil ikke at testene våre feiler fordi en ekstern ressurs ikke er tilgjengelig når testen kjører.

 

Derfor "mocker", dvs. simulerer, vi oppførselen til disse ressursene.

TIFU

🤯

Vite aims to address these issues by leveraging new advancements in the ecosystem: the availability of native ES modules in the browser, and the rise of JavaScript tools written in compile-to-native languages.

github.com/markusra/js-testing

Made with Slides.com