Testando tipos com expectTypeOf e tsd
Verifique a correção dos tipos junto com o comportamento em tempo de execução
Testando tipos com expectTypeOf e tsd é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.
Boas-vindas
Por que testar tipos
expectTypeOf do Vitest
import { expectTypeOf } from 'vitest';
expectTypeOf(42).toBeNumber();
expectTypeOf('hello').toBeString();Afirmando tipos de retorno
import { identity } from '../src/utils';
expectTypeOf(identity(42)).toEqualTypeOf<number>();
expectTypeOf(identity('hi')).toEqualTypeOf<string>();Biblioteca tsd
npm install --save-dev tsdAsserções do tsd
import { expectType, expectError } from 'tsd';
import { add } from '../src';
expectType<number>(add(1, 2));
expectError(add('a', 'b'));Biblioteca expect-type
import { expectTypeOf } from 'expect-type';
expectTypeOf<User>().toHaveProperty('name').toBeString();Testando tipos condicionais
type IsArray<T> = T extends any[] ? true : false;
expectTypeOf<IsArray<string[]>>().toEqualTypeOf<true>();
expectTypeOf<IsArray<string>>().toEqualTypeOf<false>();Testando tipos mapeados
type Mutable = { -readonly [K in keyof ReadonlyUser]: ReadonlyUser[K] };
expectTypeOf<Mutable['name']>().toBeString();
expectTypeOf<Mutable>().not.toMatchTypeOf<Readonly<Mutable>>();Executando tsd na CI
// package.json
{ "scripts": { "test:types": "tsd" } }Testes de tipos versus testes em tempo de execução
Verificação rápida
Recapitulação
Perguntas Frequentes
A aula “Testando tipos com expectTypeOf e tsd” é grátis?
Sim — o texto completo de “Testando tipos com expectTypeOf e tsd” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.
O que vou aprender em “Testando tipos com expectTypeOf e tsd”?
Verifique a correção dos tipos junto com o comportamento em tempo de execução Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar TypeScript Academy?
Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Testando tipos com expectTypeOf e tsd”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de TypeScript Academy?
Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Configurando Jest para TypeScript com ts-jest
- Escrevendo testes unitários seguros quanto aos tipos
- Simulando módulos e funções em TypeScript
- Testando tipos com expectTypeOf e tsd