TypeScript:
Testien kirjoittaminen

Kuinka:

TypeScript toimii harmonisesti useimpien JavaScriptin testauskehysten kanssa. Demonstrointitarkoituksessa käytämme Jestia, suosittua testauskehystä, sen nolla-konfiguraation asetuksen vuoksi TypeScript-projekteille.

Ensiksi, varmista että sinulla on asennettuna Jest ja tarvittavat TypeScript-tyypit:

npm install --save-dev jest typescript ts-jest @types/jest

Seuraavaksi, aseta Jest toimimaan TypeScriptin kanssa muokkaamalla jest.config.js tiedostoa tai luomalla uusi:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'node',
};

Nyt, kirjoitetaan yksinkertainen funktio ja testi sille. Harkitse sum.ts tiedostoa seuraavalla funktiolla:

// sum.ts
export function sum(a: number, b: number): number {
  return a + b;
}

Luo testitiedosto nimeltä sum.test.ts:

// sum.test.ts
import { sum } from './sum';

test('lisää 1 + 2 jotta tulos on 3', () => {
  expect(sum(1, 2)).toBe(3);
});

Suorita testisi käyttäen:

npx jest

Esimerkkituloste läpäisseestä testistä näyttäisi jotakuinkin tältä:

 PASS  ./sum.test.ts
  ✓ lisää 1 + 2 jotta tulos on 3 (2 ms)

Asynkronisen koodin kohdalla, Jest sopeutuu käyttämällä async/await. Oletetaan, että sinulla on asynkroninen fetchData funktio:

// asyncFunctions.ts
export async function fetchData(): Promise<string> {
  return "data";
}

Testisi käyttäen asynkronisia funktioita:

// asyncFunctions.test.ts
import { fetchData } from './asyncFunctions';

test('hakee tiedot onnistuneesti', async () => {
  expect(await fetchData()).toBe('data');
});

Kun suoritat testejäsi, Jest odottaa lupauksen toteutumista, testaten asynkroniset operaatiot oikein.

Muista, että tehokas testaaminen sisältää useiden testien kirjoittamisen eri skenaarioille, mukaan lukien reunatapaukset, jotta varmistetaan TypeScript-koodisi toimii odotetusti.