TypeScript Academy · Lektion

Skriv typsäkra enhetstester

Annotera testdata och assertioner med TypeScript-typer

Lektion 2 av 413 steg

Skriv typsäkra enhetstester är en gratis lektion i TypeScript Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för TypeScript Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i TypeScript Academy innehåller totalt 4 lektioner.

Välkommen

Typsäkra tester hittar fel i själva testkoden och säkerställer att testdata överensstämmer med dina produktionstyper.

Typning av testdata

Använd dina typer för testdata – TypeScript upptäcker inaktuell testdata när typerna ändras.
import type { User } from '../src/types';
const mockUser: User = { id: 1, name: 'Alice', email: 'a@b.com' };
// TypeScript errors if User interface changes

Typade assertioner

expect() fungerar med typade värden. TypeScript förfinar typen genom assertioner.
const result = add(1, 2);
expect(result).toBe(3);
const str: string = result.toString(); // result is typed as number

Typning av returvärden

Annotera förväntade returtyper för att upptäcka typändringar.
const user: User | null = await findUser(1);
expect(user).not.toBeNull();
expect(user!.name).toBe('Alice');

Typade testhjälpare

Skapa typade testfabriksfunktioner för att bygga testdata.
function createUser(overrides?: Partial<User>): User {
  return { id: 1, name: 'Test User', email: 'test@example.com', ...overrides };
}

beforeEach-typning

Ange korrekta typer för variabler som initieras i beforeEach.
let user: User;
beforeEach(() => { user = createUser(); });
test('has a name', () => { expect(user.name).toBeDefined(); });

Typade asynkrona tester

Annotera asynkrona testfunktioner och deras returtyper.
test('fetches user', async () => {
  const user: User = await getUser(1);
  expect(user.id).toBe(1);
});

Feltestning med typer

Testa att funktioner kastar fel med rätt typ.
await expect(getUser(-1)).rejects.toThrow(NotFoundError);

Generiska testverktyg

Bygg generiska, typade testverktyg för vanliga assertioner.
function expectType<T>(value: T): T { return value; }
expectType<User>(response.data); // compile error if wrong type

Snapshot-testning med typer

TypeScript-typer hjälper dig att skriva korrekta snapshot-tester.
const user: User = { id: 1, name: 'Alice' };
expect(user).toMatchSnapshot();

Testtäckning och typer

TypeScript säkerställer att testverktyg har samma gränssnitt som produktionskoden.

Snabbkontroll

Vilken fördel ger det att typa testfabriksfunktioner med `Partial`?

Sammanfattning

Skriva typsäkra enhetstester: du har lärt dig de viktigaste begreppen och mönstren.
Gratis att börja

Lär dig TypeScript med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
101
Lektioner
352

Vanliga frågor

Är lektionen ”Skriv typsäkra enhetstester” gratis?

Ja – hela texten till ”Skriv typsäkra enhetstester” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i TypeScript Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i TypeScript Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Skriv typsäkra enhetstester”?

Annotera testdata och assertioner med TypeScript-typer Ni övar på TypeScript Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig TypeScript Academy?

Du behöver inga förkunskaper. Utbildningen i TypeScript Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Skriv typsäkra enhetstester”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här TypeScript Academy-lektionen?

Ja. Varje TypeScript Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Konfigurera Jest för TypeScript med ts-jest
  2. Skriv typsäkra enhetstester
  3. Mocka moduler och funktioner i TypeScript
  4. Testa typer med expectTypeOf och tsd
← Tillbaka till TypeScript Academy