TypeScript:
Escrevendo testes
Como fazer:
O TypeScript funciona em harmonia com a maioria dos frameworks de teste em JavaScript. Para fins de demonstração, usaremos o Jest, um framework de teste popular, devido à sua configuração zero para projetos TypeScript.
Primeiro, certifique-se de que você tenha o Jest e os tipos necessários do TypeScript instalados:
npm install --save-dev jest typescript ts-jest @types/jest
Em seguida, configure o Jest para trabalhar com TypeScript modificando o jest.config.js
ou criando um novo:
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
};
Agora, vamos escrever uma função simples e um teste para ela. Considere um arquivo sum.ts
com a seguinte função:
// sum.ts
export function sum(a: number, b: number): number {
return a + b;
}
Crie um arquivo de teste chamado sum.test.ts
:
// sum.test.ts
import { sum } from './sum';
test('soma 1 + 2 para igual a 3', () => {
expect(sum(1, 2)).toBe(3);
});
Execute seus testes com:
npx jest
Um exemplo de saída indicando um teste aprovado deve parecer algo assim:
PASS ./sum.test.ts
✓ soma 1 + 2 para igual a 3 (2 ms)
Para código assíncrono, o Jest acomoda com async/await
. Suponha que você tenha uma função assíncrona fetchData
:
// asyncFunctions.ts
export async function fetchData(): Promise<string> {
return "data";
}
Seu teste usando funções assíncronas:
// asyncFunctions.test.ts
import { fetchData } from './asyncFunctions';
test('busca dados com sucesso', async () => {
expect(await fetchData()).toBe('data');
});
Ao executar seus testes, o Jest esperará a promessa ser resolvida, testando corretamente as operações assíncronas.
Lembre-se, testes eficazes incluem escrever múltiplos testes para diferentes cenários, incluindo casos extremos, para garantir que o seu código TypeScript se comporte como esperado.