0.1.0 • Published 3 years ago
jest-to-equal-type v0.1.0
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 }>>();