2016-12-07 2 views
0

Я пытаюсь протестировать component.ts:Угловое 2 Тестирование Ошибка Не удается прочитать свойство 'Foreach' неопределенной

import { ActivatedRoute, Params } from '@angular/router'; 
import { Location } from '@angular/common'; 
... 
ngOnInit(): void { 
    this.route.params.forEach((params: Params) => { 
     let id = +params['id']; 
... 
} 

spec.ts код ниже:

describe('MyDetailComponent',() => { 
    beforeEach(async(() => { 
    addMatchers(); 
    TestBed.configureTestingModule({ 
      imports: [ MaterialModule, FormsModule ], 
      declarations: [ MyDetailComponent ], 
      providers: [ 
       ... 
       { provide: RequestOptions, useClass: RequestOptionsStub }, 
       { provide: ActivatedRoute,  useClass: RouterStub }, 
       { provide: Location }, 
       { provide: XHRBackend, useClass: MockBackend }, 
       AppSettings, 
       Http, 
       ConnectionBackend, 
       Jsonp 
      ] 
     }) 
    .compileComponents() 
    .then(createComponent); 
})); 

и I» м получаю сообщение об ошибке: ошибка: Uncaught (обещанию): ошибка: ошибка в: 0: 0 вызвано следующими причинами: не удается прочитать свойство «Foreach» неопределенной TypeError: не удается прочитать свойство «Foreach» неопределенной

Как это исправить?

+0

Там также было хорошее предложение, чтобы добавить RouterTestingModule, которые помогли решить эту проблему, а также: TestBed.configureTestingModule ({ импорт: [ ... RouterTestingModule.withRoutes ([ {путь: '...', компонент: MyDetailComponent} ]) ], – Miha

ответ

Смежные вопросы