ich, dass die promse Funktion in der folgenden FunktionAngular Jamine/Karma Test Versprechen Funktion
loadDetail(id) {
this.bookingService.getServices(id).then((ret) => {
if (ret.result) {
this.sevices = ret.payload;
}
}).catch((error) => {});
}
Mein Test ist zu prüfen, bin versucht:
it('loadDetail successfully return services.', inject(
[BookingService], (service: BookingService) => {
service.initBooking();
let ret = new returnObj();
ret.result = true;
ret.payload = new Array<any>();
ret.payload.push({id: 1, title: "Title 1"});
ret.payload.push({id: 2, title: "Title 2"});
ret.payload.push({id: 3, title: "Title 3"});
const spy = spyOn(service, "getServices").and.returnValue(Promise.resolve(ret));
component.loadDetail(1);
expect(component.sevices.length).toEqual(3);
}
));
Wenn ich den Test ausführen, ich der Fehler "Erwartete 0 bis gleich 3" Was mache ich hier falsch? Ich habe Beispiele verfolgt und bin mir ziemlich sicher, dass ich den Spion richtig benutze.