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' –