結論
ここを読んで適切な方法を考えましょう。自分は これ がベターと思いました。
前提
- TypeScript を用いている
- Jest を使っている
- Cypress を使っている
- テストでも TypeScript (ts-jest) を使っている
- モノレポである*1
- 「型 Assertion に存在しません」ととにかく怒られるとき
- 実行自体は可能だが VS Code で怒られる
状況
expect を用いると プロパティ 'toBe' は型'Assertion' に存在しません。ts(2339) と怒られます。
結論(まあまあ良い)
import { expect } from '@jest/globals'; する。テストファイルしか汚さないので、これはまあまあ良いです。
テストファイルごとに毎回 import するのは面倒くさいので共通化できるならやっていいと思います。
結論(おすすめしない)
tsconfig.json に exclude プロパティを書く。tsconfig.json を更新した後は VS Code をリロードする必要があります。
例
__tests__/ 配下にテストを記述したファイルがあるときです*2。
{
"compilerOptions": {
(省略)
},
"exclude": ["__tests__/*.spec.ts"]
}
補足
tsconfig.json に exclude を設定した場合でも型についてちゃんと怒ってくれます。しかし、コンポーネントの型定義を見に行ってくれなくなるので、あまりよろしくない


