簡體   English   中英

離子2:用茉莉花和業力錯誤'ng test'測試

[英]Ionic 2 : Test with jasmine and karma error 'ng test'

我嘗試遵循本教程:

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',但是它存在於我的模塊文件夾中...

有人有主意嗎?

我認為您的問題是karma.conf.js仍指向已重命名為@angular/cli的舊angular-cli @angular/cli

如果您在karma.conf.js文件karma.conf.js所有angular-cli更改為@angular/cli ,這karma.conf.jskarma.conf.js正確的方向。

karma.conf.js的格式也已更改,因此可能需要更新。

有關更新文檔,請參見https://github.com/angular/angular-cli/wiki/stories-rc.0-update

目前似乎有3種方法對ionic 2項目進行單元測試。

  1. angular-cli (已棄用,但對我來說效果很好)
  2. @ angular / cli (新的閃亮但如果您已經有angular-cli設置,也很難升級) http://lathonez.com/2017/ionic-2-unit-testing/
  3. 使用“離子測試”調用的腳本(有關詳細信息,請參見離子博客,並鏈接到測試示例) http://blog.ionic.io/basic-unit-testing-in-ionic/

很快也會有另一種方式

ionic博客:“我們還在Ionic CLI(或更准確地說,@ ionic / app-scripts)中進行烘焙單元測試。敬請關注。”

如果可以稍等,我將等待Ionic CLI版本。 從長遠來看,這可能會給您帶來最少的問題,因為離子團隊將保持運行,將隨之而來的是所有新的閃亮離子優勢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM