26

我刚刚将我的 Angular 项目更新为 Angular 6。

ng build 和 ng serve 工作,但是当我使用以下命令运行测试时:

ng test

我得到输出:

Schema validation failed with the following errors:
Data path "" should have required property 'tsConfig'.

tsconfig.json:

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

我究竟做错了什么 ?

4

3 回答 3

29

我解决了。不知何故,当我将项目升级到 Angular 6 时,tsConfig密钥在 test -> options 中丢失了angular.json

于 2018-05-10T13:20:18.483 回答
19

为了我

  1. 在文件中:angular.json

  2. 在 json 节点路径:projects->{{yourProjectName}}->architect->test->options

  3. 添加节点:“tsConfig”:“src/tsconfig.json”

于 2018-07-13T11:59:38.820 回答
0

我遇到了这个问题,但结果证明是由于polyfills.ts被添加到tsconfig.spec.json中,Polyfills 正在导入 core-js/es7/reflect 我也在src/test.ts中做同样的事情从 src/test.ts 中删除导入解决了我的问题

于 2019-04-19T06:10:55.943 回答