元営業WEBエンジニアのアプリ開発日記

営業出身のWEB系エンジニアが気になったものから作ってはメモを残してくブログ

VisualStudioCodeでjest関連メソッドが読み込まれずエラーになる件

概要

VisualStudioCodeでファイルを開くと、describeやbeforeEach、itなどjest関連のメソッドにて以下エラーメッセージが表示され、いろいろ試みるも事象が解消されず悩んだ話

Cannot find name 'describe'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha`  and then add `jest` or `mocha` to the types field in your tsconfig.ts(2582)

結論

VisualStudioCodeのファイル開き方の問題だった

$ # sample directory
$ tree
.
└── project_root
    ├── project_a
    |   ├──__test__
    |   └──src
    └── project_b
        ├──__test__
        └──src
  • NGな方法
    • 「ファイル->開く」でproject_rootを選択
  • OKな方法

悩んだ経緯

初めはエラーメッセージにある通り@type/jestや@type/mochaをインストールしたが改善せず
tsconfig.jsonexclude:__test__include:__test__にすることで解消したが、エラーメッセージのために本対応するのはどうなのかな。。。
など多く悩んだが、対象プロジェクトの一つ上の階層を開いていたためにおかしくなっていただけだった。。。
複数のプロジェクトをvscodeでみたいと思うのでワークスペース方式をオススメする

まとめ

しょうもないことだっったが結構長い間このエラー出て苦しんだので参考までに。。。