3
我想单元测试应该使用由Angular的内存数据服务提供的假http后端的服务。这是相关代码:测试返回Promise的Angular 2服务
describe('getCars() method ',() => {
it('should return a resolved Promise', inject([DataService], (service: DataService) => {
service.getCars().then((value) => {
expect(value.length).toBe(3);
});
}));
});
问题是我不能用茉莉花做回调对待,因为函数是如何工作注入异步service.getCars()调用,。我不能使用async测试助手,因为它不能与promise一起使用。所以我不知道如何等待承诺解决---测试运行没有达到期望。
与得到的服务从测试床的作品,感谢的方式。然而,当我尝试异步解决方案时,Karma test runner会打印出一个错误:“不能在异步区域测试中使用setInterval” –
是的,无论是明确使用setInterval还是类似Observable.delay的东西都在使用它。它不能在'async'中使用。不过,你也许可以用'fakeAsync'来使用它。请参阅“另请参阅”中的链接。它显示了如何使用'fakeAsync' –