[TypeScript] Jestでユニットテストを書こうとしたら、'cannot find name jest' と表示された時に確認する箇所
概要
TypeScriptを利用しているプロジェクトでJestを導入して、ユニットテストを書こうとしたら、cannot find name jest
と表示され少しつまづいたので、対応した内容を記載します
実行環境
Node.js: v12.18.3
@babel/core: 7.10.1
@babel/preset-env: 7.10.1
@babel/preset-typescript: 7.12.1
babel-jest: 26.6.0
インストール時にやったこと
Jest公式のインストール手順に沿って、下記の手順でインストールを進めました。
(すでにプロジェクトには、babel, babel.comnfig.js, TypeScriptの設定は存在していている前提です。)
-
yarn add --dev jest
でJestをインストール -
yarn add --dev babel-jest
で devDependenciesにbabel
用のJestのモジュールを追加
エラー発生時の状況
外部リソース(ここではS3)を利用したメソッドをテストするために、Mockを作ろうとしたタイミングでエディターにcannot find name jest
と表示されました。
jest.mock(aws) // ここで cannot find name jest のエラー
import{ S3 } from 'aws-sdk';
対応した内容
yarn add --dev @types/jest
で jestの型をdevDependenciesに追加することで解決できました。
完全に自分のミスなのですが、Jest公式のページの下記の記載を読んだ時に、@types/jest
は入れなくても動作すると勘違いしていたのがよくなかったです。
他にもstackoverflow などで同じようにつまづいている人もいたので、もう少しわかりやすい記載だとありがたかったかなという印象です。
You may also want to install the @types/jest module for the version of Jest you're using. This will help provide full typing when writing your tests with TypeScript.
参考
Author And Source
この問題について([TypeScript] Jestでユニットテストを書こうとしたら、'cannot find name jest' と表示された時に確認する箇所), 我々は、より多くの情報をここで見つけました https://qiita.com/saba_can00/items/e2e04761b868879ecc7d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .