TypeScript:
Skrive tester
Hvordan:
TypeScript fungerer harmonisk med de fleste JavaScript-testingrammeverk. For demonstrasjonsformål vil vi bruke Jest, et populært testingrammeverk, på grunn av dets nullkonfigurasjonsoppsett for TypeScript-prosjekter.
Først, sørg for at du har installert Jest og de nødvendige TypeScript-typene:
npm install --save-dev jest typescript ts-jest @types/jest
Deretter, sett opp Jest for å fungere med TypeScript ved å modifisere jest.config.js
eller hvis du lager en ny:
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
};
Nå, la oss skrive en enkel funksjon og en test for den. Vurder en sum.ts
-fil med følgende funksjon:
// sum.ts
export function sum(a: number, b: number): number {
return a + b;
}
Opprett en testfil ved navn sum.test.ts
:
// sum.test.ts
import { sum } from './sum';
test('legger til 1 + 2 for å bli 3', () => {
expect(sum(1, 2)).toBe(3);
});
Kjør testene dine med:
npx jest
Eksempelutdata som indikerer en bestått test bør se slik ut:
PASS ./sum.test.ts
✓ legger til 1 + 2 for å bli 3 (2 ms)
For asynkron kode, tilrettelegger Jest med async/await
. Anta at du har en asynkron fetchData
-funksjon:
// asyncFunctions.ts
export async function fetchData(): Promise<string> {
return "data";
}
Testen din som bruker asynkrone funksjoner:
// asyncFunctions.test.ts
import { fetchData } from './asyncFunctions';
test('henter data vellykket', async () => {
expect(await fetchData()).toBe('data');
});
Når du kjører testene dine, vil Jest vente på at løftet skal løses, og dermed teste asynkrone operasjoner korrekt.
Husk, effektiv testing inkluderer å skrive flere tester for forskjellige scenarier, inkludert kanttilfeller, for å sikre at din TypeScript-kode oppfører seg som forventet.