visual unit test studio practices ejemplo best unit-testing angular jasmine angular2-testing

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 } ]}) );

Fuente: https://angular.io/guide/dependency-injection