結論
ここを読んで適切な方法を考えましょう。自分は これ がベターと思いました。
前提
- 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
を設定した場合でも型についてちゃんと怒ってくれます。しかし、コンポーネントの型定義を見に行ってくれなくなるので、あまりよろしくない