Тестовый пример Angular2 не показывает поставщика для NgControl

ng test показывает приведенную ниже ошибку, но она работает, как и ожидалось в реальности.

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"): VehicleFormComponent@27: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}">
       "): VehicleFormComponent@41:4 in src/test.ts (line 25739)
    Expected undefined to be truthy.

Я думаю, что это в основном из-за добавления [ngModelOptions]="{standalone: true}" в пользовательском теге.

2 ответа

Решение

Вы добавили ссылку на "FormsModule" в свой модуль TestBed?

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

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

Если кто-нибудь еще придет сюда, может быть, это поможет. Мне не хватало дополнительного декоратора в конструкторе:

        constructor(@Optional() @Self() public ngControl: NgControl) {}
Другие вопросы по тегам