2017-02-02 64 views
0

ng testは以下のエラーを示しますが、実際には期待通りに動作します。Angular2テストケースにはNgControlのプロバイダがありません

Error: Template parse errors: 
    No provider for NgControl (" 
     <div class="form-group"> 
     <label class="control-label">Location</label> 
     [ERROR ->]<select class="selectpicker" *ngIf="locations" data-style="btn btn-primary btn-round" title="Select A"): [email protected]:4 
    No provider for NgControl (" <div class="form-group label-floating"> 
     <label class="control-label">Is Available</label> 
     [ERROR ->]<md-slide-toggle [(ngModel)]="isAvailable" color="primary" [ngModelOptions]="{standalone: true}"> 
     "): [email protected]:4 in src/test.ts (line 25739) 
    Expected undefined to be truthy. 

カスタムタグに[ngModelOptions]="{standalone: true}"を追加したことが主な原因だと思います。

+0

TestBedモジュールに「FormsModule」への参照を追加しましたか? – VadimB

+0

) – VadimB

答えて

2

TestBedモジュールで「FormsModule」への参照を追加しましたか?

import { FormsModule } from '@angular/forms'; 

TestBed.configureTestingModule({ 
    imports: [ FormsModule ] 
}) 
.compileComponents(); 
+0

このエラーを再現できましたか?PhantomJS 2.1.1(Linux 0.0.0):実行中39/65(1 FAILED)(0秒/ 1.296秒) PhantomJS 2.1.1 )VehicleFormComponentべきで作成FAILED \t取得 \t LocationsService @のWebPACK:///src/app/shared/services/locations.service.ts:9:4173 < - のsrc/test.ts:53695:4196 \t getInternal' –

+0

はい、私はこのエラーがありました。あなたのTestBedのインポートに 'RouterTestingModule'も加えてみてください。 "import @ RouterTestingModule"から "@ angle/router/testing"からインポートします。助けてくれたら教えてください。 – VadimB

+0

それは動作しません。 –

関連する問題