angular - Hvordan fikse beforeEachProviders (utdatert på RC4)
Jeg har nettopp oppgradert Angular2 fra RC3 til RC4 ...
import {
expect, it, iit, xit,
describe, ddescribe, xdescribe,
beforeEach, beforeEachProviders, withProviders,
async, inject
} from '@angular/core/testing';
I min enhetstest har jeg følgende kode ...
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Dette fungerer bra, men siden jeg gikk over til RC4 har jeg en advarsel om foreldet funksjon på beforeEachProviders.
Noen som vet hva den nye måten å gjøre ting på er? Eller bør jeg importere beforeEachProviders fra et annet sted i stedet for '@angular/core/testing'?
Svar #1
Du må importere addProviders fra @angular/core/testing.
I stedet for:
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Du vil ønske å gjøre dette:
beforeEach(() => {
addProviders([
{provide: Router, useClass: MockRouter}
])
});
Kilde: RC4 Endringslogg
Svar #2
Etter å ha gjennomgått noen andre dokumenter, ser det ut til at du ønsker:
beforeEach(() => TestBed.configureTestingModule({
providers: [
{ provide: Service, useClass: MockService }
]})
);
Kilde: https://angular.io/guide/dependency-injection
