jQuery Academy · Lektion

Opsætning af testmiljø

Konfigurér et testmiljø med værktøjer som Jest eller QUnit, og opsæt assertions for at verificere adfærden i dine jQuery-funktioner og plugins.

Lektion 2 af 312 trin

Opsætning af testmiljø er en gratis jQuery Academy-lektion på CoddyKit. Dette er lektion 2 af 3. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i jQuery Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. jQuery Academy-kurset indeholder 3 lektioner i alt.

Hvorfor teste din jQuery-kode?

Det er afgørende at skrive tests til din jQuery-kode, hvis du vil bygge robuste webapplikationer, der er nemme at vedligeholde. Det hjælper med at finde fejl tidligt og sikrer, at koden opfører sig som forventet.

  • Forebygger regressioner: Sikrer, at nye ændringer ikke ødelægger eksisterende funktionalitet.
  • Forbedrer kodekvaliteten: Tvinger dig til at skrive modulær og testbar kode.
  • Gør samarbejde lettere: Giver tydelig dokumentation af, hvordan komponenter skal fungere.

Valg af testkører

Til test af JavaScript, herunder jQuery, skal du bruge en testkører. Dette værktøj kører dine tests og rapporterer resultaterne.

To populære muligheder er:

  • Jest: En moderne og funktionsrig testramme fra Facebook, der bruges meget til React, men som er velegnet til al JS.
  • QUnit: En jQuery-specifik testramme, der er enklere, men har færre funktioner end Jest.

I denne lektion fokuserer vi på at opsætte Jest på grund af de omfattende funktioner og den brede udbredelse.

Initialiser dit projekt (Node.js)

Før du installerer Jest, skal du have et Node.js-projekt. Hvis du ikke har et, kan du nemt oprette det.

Gå til din projektmappe i terminalen, og kør:

npm init -y

Denne kommando opretter en package.json-fil, som administrerer projektets afhængigheder og scripts.

Installer Jest og JSDOM

Lad os nu installere Jest. Da jQuery ofte interagerer med browserens DOM (Document Object Model), skal vi også bruge jest-environment-jsdom. JSDOM leverer et browserlignende miljø i Node.js, så din jQuery-kode kan manipulere en virtuel DOM.

Installer dem som udviklingsafhængigheder:

npm install --save-dev jest jest-environment-jsdom

Det føjer Jest og JSDOM til din package.json.

Konfigurer Jest til JSDOM

For at fortælle Jest, at den skal bruge JSDOM, skal du konfigurere den. Det kan du gøre ved at tilføje et test-script til din package.json eller ved at oprette en jest.config.js-fil.

Mulighed 1: I package.json

{
  "name": "my-jquery-app",
  "version": "1.0.0",
  "scripts": {
    "test": "jest --env=jsdom"
  },
  "devDependencies": {
    "jest": "^29.x.x",
    "jest-environment-jsdom": "^29.x.x"
  }
}

Flaget --env=jsdom sikrer, at Jest kører tests i et JSDOM-miljø.

Din første testfil

Jest leder efter testfiler i en __tests__-mappe eller filer, der slutter med .test.js (eller .spec.js). Lad os oprette en simpel testfil.

Opret en mappe med navnet __tests__ i projektets rodmappe, og tilføj derefter en fil som __tests__/my-feature.test.js:

// __tests__/my-feature.test.js

describe('My Feature', () => {
  test('should do something basic', () => {
    // Test logic will go here
  });
});

describe grupperer relaterede tests, og test (eller it) definerer en individuel testsag.

Importér jQuery til tests

For at teste jQuery-kode skal du importere selve jQuery i din testfil. Du kan installere jQuery via npm: npm install jquery.

Derefter kan du importere den i din testfil:

// __tests__/my-feature.test.js
const $ = require('jquery');

describe('My jQuery Feature', () => {
  // Setup for each test
  beforeEach(() => {
    // Create a fresh DOM element for each test
    document.body.innerHTML = '
Hello
'; }); test('should add a class to the element', () => { const element = $('#test-element'); element.addClass('highlight'); expect(element.hasClass('highlight')).toBe(true); }); });

Skriv grundlæggende påstande

Påstande er den måde, du kontrollerer, at din kode opfører sig korrekt på. Jest bruger funktionen expect() sammen med matchere til at lave påstande.

Her er et simpelt JavaScript-eksempel (ikke specifikt for jQuery, men det demonstrerer påstande):

function addNumbers(a, b) {
  return a + b;
}

// Example of how Jest would test this:
// expect(addNumbers(2, 3)).toBe(5);
// expect(addNumbers(-1, 1)).toBe(0);

console.log("2 + 3 = " + addNumbers(2, 3));
console.log("5 + 10 = " + addNumbers(5, 10));

Almindelige Jest-matchere

Jest tilbyder et omfattende udvalg af matchere. Her er nogle almindelige, som du kommer til at bruge:

  • .toBe(value): Kontrollerer nøjagtig lighed (som ===).
  • .toEqual(value): Kontrollerer dyb lighed mellem objekter eller arrays.
  • .not.toBe(value): Kontrollerer ulighed.
  • .toBeTruthy() / .toBeFalsy(): Kontrollerer, om en værdi er sand eller falsk.
  • .toContain(item): Kontrollerer, om et array eller en streng indeholder et element.

I jQuery kombinerer du ofte disse med jQuery-metoder, f.eks. expect($element.text()).toBe('Expected Text');

Kør dine tests

Når dine testfiler er sat op, er det enkelt at køre dem. Brug blot det script, vi definerede i package.json:

npm test

Jest finder alle dine testfiler, kører dem i JSDOM-miljøet og rapporterer resultaterne i din terminal. Du får vist, hvilke tests der bestod, hvilke der mislykkedes, samt oplysninger om eventuelle fejl.

Hurtig kontrol af opsætningen

Du har lært, hvordan du opsætter et testmiljø til jQuery ved hjælp af Jest og JSDOM. Hvilke af følgende kommandoer og konfigurationer er nødvendige for en grundlæggende Jest-opsætning med DOM-understøttelse?

Opsummering: Opsætning af testmiljø

I denne lektion har du lært, hvordan du opsætter et robust testmiljø til dine jQuery-applikationer ved hjælp af Jest.

  • Vi initialiserede et Node.js-projekt med npm init.
  • Installerede Jest og jest-environment-jsdom for at simulere et browsermiljø.
  • Konfigurerede Jest i package.json til at bruge JSDOM.
  • Fik forståelse for, hvordan man strukturerer testfiler, importerer jQuery og skriver grundlæggende påstande ved hjælp af Jests matchere.

Dette grundlag gør det muligt for dig at skrive effektive tests, der sikrer, at din jQuery-kode er pålidelig og nem at vedligeholde.

Gratis at komme i gang

Lær JavaScript med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
22
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Opsætning af testmiljø” gratis?

Ja — alle 3 lektioner i læringssporet jQuery Academy, inklusive “Opsætning af testmiljø”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. jQuery Academy-kurset indeholder 3 lektioner i alt.

Hvad lærer jeg i “Opsætning af testmiljø”?

Konfigurér et testmiljø med værktøjer som Jest eller QUnit, og opsæt assertions for at verificere adfærden i dine jQuery-funktioner og plugins. Du øver dig i jQuery Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på jQuery Academy?

Der kræves ingen tidligere erfaring. jQuery Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 3.

Hvor lang tid tager lektionen “Opsætning af testmiljø”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne jQuery Academy-lektion?

Ja. Alle jQuery Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til enhedstest af jQuery
  2. Opsætning af testmiljø
  3. Skriv effektive jQuery-tests
← Tilbage til jQuery Academy