【发布时间】:2017-12-19 00:10:32
【问题描述】:
我正在尝试测试以下函数中的 promse 函数
loadDetail(id) {
this.bookingService.getServices(id).then((ret) => {
if (ret.result) {
this.sevices = ret.payload;
}
}).catch((error) => {});
}
我的测试是:
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);
}
));
当我运行测试时,我收到错误“预期 0 等于 3”。 我在这里做错了什么?我已经按照示例进行了操作,并且我很确定我正确使用了间谍。
【问题讨论】:
标签: angular jasmine karma-runner karma-jasmine