Im Versuch, einige Unit-Test für einen Dienst wie zu schreiben:angular2 Unit-Test von verschachtelten Dienste
export class Service1 {
...
public constructor(service2: Service2, service3: Service3) {}
...
}
wo Service2 enthält, die wiederum Service3:
export class Service2 {
...
public constructor(service3: Service3, stringa: string) {}
...
}
i Test starten in ein wirklich schrecklich Art und Weise, wie:
it("check XXX",() => {
let service3: Service3= new Service3();
let service2: service2= new service2(service3, "stringa");
let service1: Service1 = new Service1(service2, service3);
expect(X).toEqual(X);
});
aber jetzt, ich bin mit beforeEachProviders und welcher happ en mit diesem:
beforeEachProviders(() => {
return [
provide(Service2, { useclass: MockService2}),
provide(Service3, { useclass: MockService3}),
provide('stringa', { useValue: "stringa"}),
Service1
];
});
it('check XXX ', inject(
[Service2, Service3], (service2: Service2, service3: Service3) => {
expect(true).toEqual(true);
}));
ist:
Failed: No provider for String! (Service2-> String).
someboby mir helfen könnte?
Vielen Dank im Voraus.
Ich hatte bereits @Inject Dekorator im Konstruktor verwendet, aber nicht im Mock-Service !! wirklich danke dir !!! – AntuJitsu