angular - TS2304 : Cannot find name 'describe' or 'expect'

标签 angular angular7

当我打开 app.e2e-spec.ts 时,我通过 Angular 7.2.1 生成了一个新项目,我看到了 TS2304: Cannot find name 'describe' 错误。当我点击建议时 Import describe from module "jasmine" 我看到不同的错误 TS2305: Module "/Users/pjadda/IdeaProjects/Cyber​​Jobs/frontend/src/main/frontend/node_modules/@ types/jasmine/index"' 没有导出成员 'describe'。 不知道这里出了什么问题。这是通过 Angular CLI 生成的新项目。

app.e2e-spec.ts

import {AppPage} from './app.po';

describe('workspace-project App', () => {
  let page: AppPage;

  beforeEach(() => {
    page = new AppPage();
  });

  it('should display welcome message', () => {
    page.navigateTo();
    expect(page.getParagraphText()).toEqual('Welcome to cyber-jobs!');
  });
});

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ]
  }
}

angular.json

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "cyber-jobs": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "app",
      "schematics": {},
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "../../../target/frontend",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ],
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "cyber-jobs:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "cyber-jobs:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "cyber-jobs:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "karmaConfig": "src/karma.conf.js",
            "styles": [
              "src/styles.css"
            ],
            "scripts": [],
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    },
    "cyber-jobs-e2e": {
      "root": "e2e/",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "e2e/protractor.conf.js",
            "devServerTarget": "cyber-jobs:serve"
          },
          "configurations": {
            "production": {
              "devServerTarget": "cyber-jobs:serve:production"
            }
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": "e2e/tsconfig.e2e.json",
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "cyber-jobs"
}


最佳答案

确保您安装了此依赖项并将其导入到您的任何测试文件中

import '@types/jest';

并将“jest”添加到 tsconfig.json 中的类型数组

关于angular - TS2304 : Cannot find name 'describe' or 'expect' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54239738/

相关文章:

angular - 无法使用语言环境格式的日期管道

javascript - 无法从我的 angular2 View 文件夹中渲染 index.html 文件

regex - 模式验证器对于 IP 地址正则表达式无效

angular - 你可以使用 @ViewChild() 或类似的路由器 socket 吗?如果是这样怎么办?

java - 开发 Angular7 REST Web 应用程序时出现 'Access-Control-Allow-Origin' 问题

angular - 无法确定 "@angular/cli"的版本本地安装已损坏

angular - 重置分页器第一页 Angular Material

Angular2 组件测试 - 错误 : Can't resolve all parameters

Angular 7 react 形式 "No value accessor for form control with unspecified name attribute"

typescript - angular 7 中的 ipad 双击和长按事件