Skip to content

sugoroku-y/jest-to-equal-type

Repository files navigation

jest-to-equal-type

TypeScriptでの型チェックを行う為だけのマッチャーです。

使用するにはソースファイルの先頭でimportしてください。

import 'jest-to-equal-type';

するとexpectのマッチャーとしてtoEqualTypeが使えるようになります。

test('typecheck', () => {
  expect(func()).toEqualType<{aaa: boolean; bbb: number}>();
})

コンパイラーでのチェックを行うためだけのものなので@ts-expect-errorなどでむりやり通してしまうと、本来エラーであってもエラーにならなくなるので注意してください。

// @ts-expect-error エラーでもむりやり通したら、実際にはテストしていないので失敗にはならない
expect(o).toEqualType<{ a: 2; c: 3 }>();

その性格上、.notは使えません。

// .not はサポートしていないので例外を投げる -> 失敗
expect(o).not.toEqualType<Readonly<{ a: 2; c: 3 }>>();

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published