2016-11-23 54 views
0

我們正在使用JS-Data,JS-Data-Http與angular2應用程序中的Service進行交互。當我們進行單元測試時有問題。任何人都可以解釋如何爲JS-Data-Http創建模擬對象嗎?JS-Data的單元測試

+1

請提供關於如何在A2應用程序中使用JS-Data的詳細信息。一些代碼是必需的。我想,讓它可測試的方法是包裝A2的'Http' [就像它在A1適配器中完成的一樣](https://github.com/js-data/js-data-angular/blob/master /src/index.js#L60-L72)。由於'Http'使用observables和js-data-http期望promise,所以wrapper應該將它們轉換爲模仿A1''http' API的承諾。默認情況下,js-data-http使用[axios](https://github.com/mzabriskie/axios),這不是非常可測試的。 – estus

+0

對於客戶端單元測試,如果您需要提供您自己的數據模型作爲虛擬數據的Web服務,則可以使用[Rest Ipsum](https://restipsum.com) – scetiner

回答

0

單元測試不應該需要外部資源,如REST服務。爲了嘲笑findAll的響應,你會做類似下面的代碼。確保你已經包含了JSData mocks,否則它會發出一個HTTP請求,你會看到由於意外的請求而導致的錯誤。

DS.expectFindAll('task') 
    .respond([{"id": 1, "title": "Task 1"},{"id": 2, "title": "Task 2"}]);