TypeScript Academy · leksjon

Skrive typesikre enhetstester

Annoter testdata og påstander med TypeScript-typer.

Leksjon 2 av 413 trinn

Skrive typesikre enhetstester er en gratis leksjon i TypeScript Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i TypeScript Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Velkommen

Typesikre tester finner feil i selve testkoden og sikrer at testdataene samsvarer med typene i produksjonskoden.

Typebestemte testdata

Bruk de definerte typene for testdata – TypeScript oppdager foreldede testdata når typene endres.
import type { User } from '../src/types';
const mockUser: User = { id: 1, name: 'Alice', email: 'a@b.com' };
// TypeScript errors if User interface changes

Typebestemte påstander

expect() fungerer med typesatte verdier. TypeScript snevrer inn typen gjennom påstander.
const result = add(1, 2);
expect(result).toBe(3);
const str: string = result.toString(); // result is typed as number

Typebestemme returverdier

Angi forventede returtyper for å oppdage endringer i typer.
const user: User | null = await findUser(1);
expect(user).not.toBeNull();
expect(user!.name).toBe('Alice');

Typebestemte testhjelpere

Opprett typebestemte testfabrikkfunksjoner for å bygge testdata.
function createUser(overrides?: Partial<User>): User {
  return { id: 1, name: 'Test User', email: 'test@example.com', ...overrides };
}

Typebestemming i beforeEach

Gi variabler som initialiseres i beforeEach, riktig type.
let user: User;
beforeEach(() => { user = createUser(); });
test('has a name', () => { expect(user.name).toBeDefined(); });

Typebestemte asynkrone tester

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

Testing av feil med typer

Test at funksjoner kaster feilen med riktig type.
await expect(getUser(-1)).rejects.toThrow(NotFoundError);

Generiske testverktøy

Bygg generiske, typebestemte testverktøy for vanlige påstander.
function expectType<T>(value: T): T { return value; }
expectType<User>(response.data); // compile error if wrong type

Snapshot-testing med typer

TypeScript-typer bidrar til å skrive nøyaktige snapshot-tester.
const user: User = { id: 1, name: 'Alice' };
expect(user).toMatchSnapshot();

Testdekning og typer

TypeScript sikrer at testverktøyene beholder samme grensesnitt som produksjonskoden.

Hurtigsjekk

Hva er fordelen ved å angi testfabrikkfunksjoner med `Partial`?

Oppsummering

Skrive typesikre enhetstester: De viktigste konseptene og mønstrene er nå gjennomgått.
Gratis å komme i gang

Lær deg TypeScript med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
101
Leksjoner
352

Ofte stilte spørsmål

Er leksjonen «Skrive typesikre enhetstester» gratis?

Ja – hele teksten i «Skrive typesikre enhetstester» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av TypeScript Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i TypeScript Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Skrive typesikre enhetstester»?

Annoter testdata og påstander med TypeScript-typer. Du øver på TypeScript Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med TypeScript Academy?

Ingen tidligere erfaring er nødvendig. TypeScript Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Skrive typesikre enhetstester»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne TypeScript Academy-leksjonen?

Ja. Alle TypeScript Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Sette opp Jest for TypeScript med ts-jest
  2. Skrive typesikre enhetstester
  3. Mocking av moduler og funksjoner i TypeScript
  4. Typesjekking med expectTypeOf og tsd
← Tilbake til TypeScript Academy