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.
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 -yDenne 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-jsdomDet 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 testJest 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-jsdomfor at simulere et browsermiljø. - Konfigurerede Jest i
package.jsontil 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.
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
- Introduktion til enhedstest af jQuery
- Opsætning af testmiljø
- Skriv effektive jQuery-tests