0
Je suis en train de tester un component.ts:angulaire 2 Erreur de test ne peut pas lire la propriété 'foreach' undefined
import { ActivatedRoute, Params } from '@angular/router';
import { Location } from '@angular/common';
...
ngOnInit(): void {
this.route.params.forEach((params: Params) => {
let id = +params['id'];
...
}
le code spec.ts ci-dessous:
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);
}));
et I » m obtenir l'erreur: Failed: Uncaught (en promesse): erreur: erreur dans: 0: 0 causé par: Impossible de lire la propriété 'foreach' undefined TypeError: Impossible de lire la propriété 'foreach' undefined
Comment réparer ceci?
Il y avait aussi une bonne idée d'ajouter RouterTestingModule qui a contribué à résoudre le problème ainsi: TestBed.configureTestingModule ({ importations: [... RouterTestingModule.withRoutes ([ {chemin: '...', composant: MyDetailComponent} ]) ], – Miha