2016-11-19 40 views
0

領域。這不會影響應用程序本身,而是亂搞了測試:

httpBackend.expectGET('api/items').respond(200, items); 
controller.getItems(); 
httpBackend.flush(); 
expect(controller.items).toEqual(items); 

導致錯誤:

Expected [ Resource({ items: [...], $promise: Promise({ $$state: Object({ status: 1, pending: undefined, value: <circular reference: Object>, processScheduled: false }) }), $resolved: true }) ] to equal [ Object({ items: [...] }) ]. 

爲什麼角增加了這個領域,我該如何擺脫這種$承諾,$的解決等垃圾,使我的測試清潔?

回答

1

結帳的資源文檔here

外觀爲的toJSON功能,這應該幫助你,因爲它剝去角區域爲您

一種更簡單的方式返回部分是,當你得到一個角度資源對象返回,您可以只分配scope.items,無論屬性在保存數據的資源上。 E.g:

$scope.items = resource.items; 

這將通過測試你和什麼我通常使用做作爲ngresource這是所有習慣我的視圖控制器