1. ホーム
  2. typescript

[解決済み] describe'という名前が見つかりません。テストランナー用の型定義をインストールする必要がありますか?

2022-07-14 11:52:17

質問

TypeScriptとJestを組み合わせて使用すると、以下のようなエラーメッセージが出てspecが失敗してしまいます。

test/unit/some.spec.ts:1:1 - error TS2582: 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`.
test/unit/some.spec.ts:2:3 - error TS2582: Cannot find name 'it'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha`.
test/unit/some.spec.ts:3:7 - error TS2304: Cannot find name 'expect'.
test/unit/some.spec.ts:7:1 - error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha`.

タイプはすでにインストールされています。

使っています。

    "@types/jest": "^23.3.12",
    "jest": "^23.6.0",
    "ts-jest": "^23.10.5",
    "typescript": "^3.1.6"

を使ってテストを実行します。 jest --forceExit --coverage --verbose

どのように解決するのですか?

をいじった後 tsconfig.json をしばらくいじった後、私は最終的に "types": [], が機能することを理解しました。

設定失敗(前)

// tsconfig.json
{
  "compilerOptions": {
    "types": []
  }
}

動作設定

// tsconfig.json
{
  "compilerOptions": {
    // "types": []
  }
}