0

我使用 Angular 5 启动了一个项目。经过一些开发,我升级到了 Angular 6。

升级到 Angular 6 后,对开发代码做一些调整。

但是,当我运行Test.

在此处输入图像描述

根据我得到的,我缺少'rxjs-compat/Observable'模块。

所以我只是安装npm install rxjs-compat --save并运行'ng test'.

该错误不再显示。但我面临新的问题。

现在,错误是No captured browser

在此处输入图像描述

对此有什么想法吗?

我做了什么

  • 升级本地全局 angular-cli.
  • 全部删除node_modules并重新安装新的

附加信息

这是我使用的角度版本:

在此处输入图像描述

4

3 回答 3

0
  1. karma init在与您的相同目录中运行karma.conf.js
  2. 确保您的 karma conf 文件包括Chrome
  3. 在与您的文件karma start相同的目录中运行。karma.conf.js

让我知道它是否有帮助

于 2018-08-10T08:28:32.903 回答
0

升级到 Angular 6 时,还需要升级到 RxJS 6 API 语法。您需要重写与可观察方法相关的导入语句,并且需要删除 rxjs-compat。

您可以在 Angular 升级指南https://update.angular.io/中找到更详细的说明(将其设置为从 5.2 升级到 6)。

于 2018-08-10T08:35:20.583 回答
0

快速解决我当前的问题(从 Angular 5 到 Angular 6)

第 1 步:将当前项目重命名为{project-name}-bak

第 2 步:确保您的全局 Angular 版本是最新版本

对于这一步,我的全局版本是6.1.3

ng -v您可以通过Angular 项目外部检查您的全局版本。

第 3 步:创建一个新的 Angular 6 项目

使用你的project-name创建一个新的 Angular 项目。

ng new project-name

第 4 步:尝试运行测试

运行测试ng test以确保您新生成的 Angular 6 项目是否运行良好。

第 5 步:移动您的代码(仅当您的第 4 步正常时)

  • 用from替换src文件夹src{project-name}-bak
  • 复制你的styles.cssstyles.scss你所有的全局样式表{project-name}-bak
  • 如果你有除styles.cssor以外的样式表styles.scss,你应该更新你的angular.json.
  • 尝试ng test再次运行测试。(对我来说,它一直有效到这里)


注意:如果有人有更好的修复方法,请在评论中更新,也许可以帮助其他人。

于 2018-08-13T09:16:03.493 回答