web-dev-qa-db-ja.com

「説明」という名前が見つかりません。テストランナーのタイプ定義をインストールする必要がありますか?

TypeScriptをJestと組み合わせて使用​​すると、私の仕様は次のようなエラーメッセージで失敗します。

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を使用してテストを実行します

22
Ronin

私の場合、問題は1つの特定のファイルにありました。問題自体は見つかりませんでしたが、ファイルのインポートにimport {} from 'jest'を追加することで解決しました。

Jest issue trackerまたはSOまたは他の方法で解決できなかった他の方法はありません。クレイジーな回避策によってクレイジーなバグが修正されましたか???? ‍♂️

はい、もちろん、最新のjestts-jest@types/jestをもちろんpackage.jsonに追加しました

1
Fyodor

これを解決するための簡単なチェックリスト(TypeScriptおよびJestの場合)。

  1. @types/jestおよび@types/nodeがインストールされていることを確認してください。
  2. これらの型をtsconfig.jsonでリンクしていることを確認してください:types: ["jest", "node"]
  3. excludedプロパティのtsconfig.json設定からテストまたはテストディレクトリを除外しないでくださいであることを確認してください。
0
Greg Woz

別のtsconfig.jsonテストフォルダ__tests__

{
    "extends": "../tsconfig.json",
    "compilerOptions": {
        "baseUrl": "./",
        "outDir": "../build",
        "noEmit": true,
        "rootDir": "../",
    },
    "exclude": ["node_modules"],
}

これは、ルートフォルダーの1つを拡張します。

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "outDir": "./lib",
    "rootDir": "./src",
    "strict": true,
    "noImplicitAny": true,
    "esModuleInterop": true,
  },
  "exclude": ["node_modules", "**/*.test.ts", "__tests__"]
}

この方法では、ファイルをテストしてもパブリックビルドから除外されますが、一般的なオプションはすべて共有されます。

0
Polor Beer