Angular Определения типов для модульных тестов, не распознаваемых VSCode - PullRequest
0 голосов
/ 24 марта 2020

Issue

У меня есть приложение Angular 9 и я только добавил небольшой модульный тест для компонента. Но VSCode не распознает такие типы, как describe, beforeEach, it. Хотя у меня есть файл tsconfig.spe c. json, который имеет jasmine в определении types:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/spec",
    "types": ["jasmine", "node", "jest"]
  },
  "files": ["src/test.ts", "src/polyfills.ts"],
  "include": ["src/**/*.spec.ts", "src/**/*.d.ts"]
}

Фактическая ошибка, которую я получаю, заключается в следующем :

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`.ts(2582)

types not found

Что я пробовал (но не работало)

  1. Переустановите @types/jasmine через yarn add -D @types/jasmine
  2. Добавить jasmine к types из tsconfig. json
  3. Удалить определения types из tsconfig.spe c. json
  4. Переустановите все зависимости моего проекта
  5. Добавьте jasmine к types tsconfig. json in root моего монорэпо

Попробуйте сами

Если вы хотите поближе взглянуть, вы можете попробовать сами,

git clone https://github.com/flolu/cents-ideas
git checkout 45bda5235f832ab801d6439d0179dd6c0e76c4cc

Тогда /services/client/src/app/hello-world/hello-world.component.spec.ts - это файл с ошибками

Sidenote: Тест пройден, поэтому проблема в том, что VSCode не находит типы.

1 Ответ

0 голосов
/ 26 марта 2020

Мой tsconfig.spe c. json был в порядке. Просто пришлось исправить путь typeRoots в моем tsconfig. json от

"typeRoots": ["node_modules/@types"]

до

"typeRoots": ["../../node_modules/@types"]

, потому что в моем monorepo я имею только папку node_modules в root проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...