2017-01-19 8 views
0

私はイオン2アプリケーションのための簡単な角度2コンポーネントを持っています。イオン2:イオンのマークアップ/要素を持つコンポーネントの単体テスト

import { Component, Input } from '@angular/core'; 
import { NavController } from 'ionic-angular/'; 
import { Content } from '../../pages/content/content'; 

@Component({ 
    selector: 'content-detail', 
    templateUrl: 'content-detail.html' 
}) 
export class ContentDetailComponent { 

    @Input('data') rawcontent: any = {}; 

    constructor(public nav: NavController) { 
    } 
    //other methods 
} 

私はそれのためのユニットテストを書くことをしようとしているが、私はそう、このエラーを得た:のようなものである

<ion-card> 
    <h3>{{ rawcontent.name }}</h3> 
    <p *ngIf="rawcontent.description">{{ rawcontent.description }}</p> 
</ion-card> 

コンポーネント.TSを:コンポーネントは、次のような、いくつかのイオンのマークアップを使用していますはるか:

「イオンカード」知られていない要素がある:「イオンカード」が角度成分である 1の場合、それは、このモジュールの一部であることを確認してください。 2. 'ion-card'がWebコンポーネントの場合、このコンポーネントの '@ NgModule.schemas'に「CUSTOM_ELEMENTS_SCHEMA」を追加してこのメ​​ッセージを表示しないようにしてください。

私は今何をすべきか分かりません。この場合、イオンカードは角度成分です。それで、次に何をするのですか?私はbeforeEachを変更しなければならないと思って、いくつかの設定を追加します。誰も助けることができますか?

beforeEach(() => TestBed.configureTestingModule({ 
    declarations: [ ContentDetailComponent ], 
    providers: [ 
     { provide: NavController, useClass: NavMock } 
    ]}) 
); 

答えて

1

ionicModuleをインポートする必要があります。これはIonic 2 appsをテストするための良い出発ブログですconfigureTestingModule

imports: [ 
    IonicModule, 
    ], 
1

でこれを追加します。

あなたはbeforeEachにイオンモジュールのルートでアプリを設定する必要があります。

beforeEach(async(() => { 

     TestBed.configureTestingModule({ 

      declarations: [MyApp] 

      providers: [ 

      ], 

      imports: [ 
       IonicModule.forRoot(MyApp) 
      ] 

     }).compileComponents(); 

    })); 
関連する問題