unit testing - unit - Cómo arreglar beforeEachProviders(obsoleto en RC4)
unit test c# ejemplo (3)
Acabo de actualizar Angular2 de RC3 a RC4 ...
import {
expect, it, iit, xit,
describe, ddescribe, xdescribe,
beforeEach, beforeEachProviders, withProviders,
async, inject
} from ''@angular/core/testing'';
En mi prueba de unidad tengo el siguiente código ...
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Esto funciona bien, pero desde que me beforeEachProviders
a RC4 tengo una advertencia de desaprobación en beforeEachProviders
de cada beforeEachProviders
.
¿Alguien sabe cual es la nueva forma de hacer las cosas? ¿O debería importar beforeEachProviders
desde otro lugar en lugar de ''@ angular / core / testing''?
Aquí hay un ejemplo completo, para un servicio de referencia de Windows:
import { TestBed, inject } from ''@angular/core/testing'';
import { WindowRef } from ''./window-ref'';
describe(''WindowRef'', () => {
let subject: WindowRef;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [
WindowRef
]});
});
beforeEach(inject([WindowRef], (windowRef: WindowRef) => {
subject = windowRef;
}));
it(''should provide a way to access the native window object'', () => {
expect(subject.nativeWindow).toBe(window);
});
});
Deberá importar addProviders desde @ angular / core / testing.
En lugar de:
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Usted querrá hacer esto:
beforeEach(() => {
addProviders([
{provide: Router, useClass: MockRouter}
])
});
Fuente: RC4 Changelog
Después de revisar algunos otros documentos, parece que desea:
beforeEach(() => TestBed.configureTestingModule({
providers: [
{ provide: Service, useClass: MockService }
]})
);