angular - Hur man fixar beforeEachProviders (föråldrad på RC4)
Jag har precis uppgraderat Angular2 från RC3 till RC4 ...
import {
expect, it, iit, xit,
describe, ddescribe, xdescribe,
beforeEach, beforeEachProviders, withProviders,
async, inject
} from '@angular/core/testing';
I mitt enhetstest har jag följande kod ...
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Detta fungerar bra men sedan jag gick över till RC4 har jag en varning om avveckling på beforeEachProviders.
Någon som vet vad det nya sättet att göra saker är? Eller borde jag importera beforeEachProviders från någon annanstans istället för '@angular/core/testing'?
Svar #1
Du kommer att behöva importera addProviders från @angular/core/testing.
Istället för:
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Du kommer att vilja göra detta:
beforeEach(() => {
addProviders([
{provide: Router, useClass: MockRouter}
])
});
Källa: RC4 ändringslogg
Svar #2
Efter att ha gått igenom några andra dokument verkar det som att du vill:
beforeEach(() => TestBed.configureTestingModule({
providers: [
{ provide: Service, useClass: MockService }
]})
);
Källa: https://angular.io/guide/dependency-injection
