Je viens de mettre à jour Angular2 de RC3 à RC4 ...
import {
expect, it, iit, xit,
describe, ddescribe, xdescribe,
beforeEach, beforeEachProviders, withProviders,
async, inject
} from '@angular/core/testing';
Dans mon test unitaire, j'ai le code suivant ...
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Cela fonctionne bien, mais depuis le passage à RC4, un avertissement de désapprobation est émis sur beforeEachProviders
.
Quelqu'un sait quelle est la nouvelle façon de faire? Ou devrais-je importer beforeEachProviders
d'un autre endroit au lieu de '@ angular/core/testing'?
Vous devrez importer addProviders de @ angular/core/testing.
Au lieu de:
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Vous voudrez faire ceci:
beforeEach(() => {
addProviders([
{provide: Router, useClass: MockRouter}
])
});
Source: Changelog RC4
Après avoir examiné quelques autres documents, il semble que vous souhaitiez:
beforeEach(() => TestBed.configureTestingModule({
providers: [
{ provide: Service, useClass: MockService }
]})
);
Voici un exemple complet, pour un service de référence 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);
});
});