我尝试按照本教程进行操作:
http://lathonez.com/2017/ionic-2-unit-testing/
当我运行“ng test”时,我有这个错误:
C:\xampp\htdocs\AppFineMobile>ng test
27 03 2017 11:55:00.556:ERROR [preprocess]: Can not load "angular-cli", it is not registered!
Perhaps you are missing some plugin?
No provider for "framework:angular-cli"! (Resolving: framework:angular-cli)
Error: No provider for "framework:angular-cli"! (Resolving: framework:angular-cli)
at error (C:\xampp\htdocs\AppFineMobile\node_modules\di\lib\injector.js:22:12)
at Object.get (C:\xampp\htdocs\AppFineMobile\node_modules\di\lib\injector.js:9:13)
at Injector.get (C:\xampp\htdocs\AppFineMobile\node_modules\di\lib\injector.js:54:19)
at C:\xampp\htdocs\AppFineMobile\node_modules\karma\lib\server.js:143:20
at Array.forEach (native)
at Server._start (C:\xampp\htdocs\AppFineMobile\node_modules\karma\lib\server.js:142:21)
at Injector.invoke (C:\xampp\htdocs\AppFineMobile\node_modules\di\lib\injector.js:75:15)
at Server.start (C:\xampp\htdocs\AppFineMobile\node_modules\karma\lib\server.js:103:18)
at Promise (C:\xampp\htdocs\AppFineMobile\node_modules\@angular\cli\tasks\test.js:35:25)
at Class.run (C:\xampp\htdocs\AppFineMobile\node_modules\@angular\cli\tasks\test.js:15:16)
at Class.run (C:\xampp\htdocs\AppFineMobile\node_modules\@angular\cli\commands\test.js:99:25)
at Class.<anonymous> (C:\xampp\htdocs\AppFineMobile\node_modules\@angular\cli\ember-cli\lib\models\command.js:134:17)
at process._tickCallback (internal/process/next_tick.js:103:7)
我不明白我该做什么。我最初运行了这个命令:
npm install --save-dev @angular/cli @types/jasmine @types/node jasmine-core jasmine-spec-reporter karma karma-chrome-launcher karma-cli karma-jasmine karma-jasmine-html-reporter karma-coverage-istanbul-reporter
效果很好,我添加了教程中提到的所有文件......
在我的test.ts文件中,导入时出错:
import { getTestBed, TestBed } from '@angular/core/testing';
我有:找不到模块'@ angular / core / testing',但它存在于我的模块文件夹中......
有人有想法吗?
答案 0 :(得分:3)
我认为您的问题是karma.conf.js
仍然指着旧的angular-cli
这已重命名为@angular/cli
。
如果您将angular-cli
文件中的所有@angular/cli
更改为karma.conf.js
,则应指向正确的方向。
karma.conf.js
的格式也发生了变化,因此可能需要更新。
有关更新文档,请参阅https://github.com/angular/angular-cli/wiki/stories-rc.0-update
答案 1 :(得分:1)
目前看来有三种单元测试离子2项目的方法。
很快就会有另一种方式
离子博客:“我们也正在进行烘焙单元测试,直接进入Ionic CLI(或更准确地说,@ ionic / app-scripts)。请继续关注。”
如果你可以等一下,我会等待Ionic CLI版本。从长远来看,它可能会给你带来最少的问题,因为离子团队将继续运行它将带来所有新的闪亮的离子良好。