😸

Vitestで@testing-library/jest-domのtoBeInTheDocumentを使うときのTS型エラーをなんとかする

2022/10/04に公開
2

2023/8/20 追記
https://github.com/DefinitelyTyped/DefinitelyTyped/pull/66389
@testing-library/jest-domのv6.0.0からは本記事の対応が不要になったようです。
goggle555さん情報共有ありがとうございました!

以下古い情報 ==========
Vitestと一緒にtoBeInTheDocumentを使っていると、テストはちゃんと実行できるけどエディタ上で「そんな型ないよ!」と言われてしまうことはないでしょうか。
色々調べた結果なんとか解決できたので共有します。

まず@types/testing-library__jest-domをインストールします

$ npm install --save-dev @types/testing-library__jest-dom
$ yarn install -D @types/testing-library__jest-dom
$ pnpm install -D @types/testing-library__jest-dom

次にVitestのセットアップファイルに@types/testing-library__jest-domを追記します

setup.ts
// これは元から書いてあると思います
import "@testing-library/jest-dom";

// これを追記します
import "@testing-library/jest-dom/extend-expect";

2022/10時点ではこれでエラーが消えると思います。

参考
Property 'toBeChecked' does not exist on type 'Matchers<void, Element>' · Issue #442 · testing-library/jest-dom

Discussion