TypeScript Academy · Lektion

Skrivning af typesikre unit tests

Annotér testdata og assertions med TypeScript-typer

Lektion 2 af 413 trin

Skrivning af typesikre unit tests er en gratis TypeScript Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i TypeScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. TypeScript Academy-kurset indeholder 4 lektioner i alt.

Velkommen

Typesikre test fanger fejl i selve testkoden og sikrer, at dine testdata matcher typerne i produktionskoden.

Typning af testdata

Brug dine typer til testdata — TypeScript opdager forældede testdata, når typerne ændres.
import type { User } from '../src/types';
const mockUser: User = { id: 1, name: 'Alice', email: 'a@b.com' };
// TypeScript errors if User interface changes

Typebestemte assertioner

expect() fungerer med værdier med typer. TypeScript indsnævrer typen gennem assertioner.
const result = add(1, 2);
expect(result).toBe(3);
const str: string = result.toString(); // result is typed as number

Typning af returværdier

Angiv forventede returtyper for at opdage ændringer i typer.
const user: User | null = await findUser(1);
expect(user).not.toBeNull();
expect(user!.name).toBe('Alice');

Typebestemte testhjælpere

Opret typebestemte testfabriksfunktioner til at opbygge testdata.
function createUser(overrides?: Partial<User>): User {
  return { id: 1, name: 'Test User', email: 'test@example.com', ...overrides };
}

Typning af beforeEach

Angiv korrekte typer for variable, der initialiseres i beforeEach.
let user: User;
beforeEach(() => { user = createUser(); });
test('has a name', () => { expect(user.name).toBeDefined(); });

Typebestemte asynkrone test

Angiv typer for asynkrone testfunktioner og deres returtyper.
test('fetches user', async () => {
  const user: User = await getUser(1);
  expect(user.id).toBe(1);
});

Test af fejl med typer

Test, at funktioner kaster den korrekte fejl med den rigtige type.
await expect(getUser(-1)).rejects.toThrow(NotFoundError);

Generiske testværktøjer

Byg generiske, typebestemte testværktøjer til almindelige assertioner.
function expectType<T>(value: T): T { return value; }
expectType<User>(response.data); // compile error if wrong type

Snapshot-test med typer

TypeScript-typer hjælper dig med at skrive præcise snapshot-test.
const user: User = { id: 1, name: 'Alice' };
expect(user).toMatchSnapshot();

Testdækning og typer

TypeScript sikrer, at testværktøjer bevarer samme grænseflade som produktionskoden.

Hurtigt tjek

Hvad er fordelen ved at typebestemme testfabriksfunktioner med `Partial`?

Opsummering

Skrivning af typesikre enhedstest: Du har tilegnet dig de vigtigste begreber og mønstre.
Gratis at komme i gang

Lær TypeScript 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
101
Lektioner
352

Ofte stillede spørgsmål

Er lektionen “Skrivning af typesikre unit tests” gratis?

Ja — hele teksten til “Skrivning af typesikre unit tests” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af TypeScript Academy-kurset, skal du opgradere til CoddyKit PRO. TypeScript Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Skrivning af typesikre unit tests”?

Annotér testdata og assertions med TypeScript-typer Du øver dig i TypeScript 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å TypeScript Academy?

Der kræves ingen tidligere erfaring. TypeScript 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 4.

Hvor lang tid tager lektionen “Skrivning af typesikre unit tests”?

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 TypeScript Academy-lektion?

Ja. Alle TypeScript 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. Opsætning af Jest til TypeScript med ts-jest
  2. Skrivning af typesikre unit tests
  3. Mocking af moduler og funktioner i TypeScript
  4. Typetest med expectTypeOf og tsd
← Tilbage til TypeScript Academy