Ich habe gerade Angular2 von RC3 auf RC4 aufgerüstet ...
import {
expect, it, iit, xit,
describe, ddescribe, xdescribe,
beforeEach, beforeEachProviders, withProviders,
async, inject
} from '@angular/core/testing';
In meinem Gerätetest habe ich folgenden Code ...
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Dies funktioniert gut, aber seit dem Umstieg auf RC4 habe ich eine Warnung vor beforeEachProviders
.
Weiß jemand, was die neue Art ist, Dinge zu tun? Oder soll ich beforeEachProviders
anstelle von '@ angle/core/testing' von woanders importieren?
Sie müssen addProviders aus @ angle/core/testing importieren.
Anstatt:
beforeEachProviders(() => [
{provide: Router, useClass: MockRouter}
]);
Sie möchten das tun:
beforeEach(() => {
addProviders([
{provide: Router, useClass: MockRouter}
])
});
Quelle: RC4 Änderungsprotokoll
Nachdem Sie einige andere Dokumente geprüft haben, scheint es, als würden Sie wollen:
beforeEach(() => TestBed.configureTestingModule({
providers: [
{ provide: Service, useClass: MockService }
]})
);
Hier ist ein vollständiges Beispiel für einen Windows-Referenzdienst:
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);
});
});