2016-11-19 14 views
0

との角度$リソースによって追加されたフィールドを取り除く:

$resource('api/items').get(items).$promise.then((items) => { 
    $scope.items = items 
} 

は、それがitemsResultでオブジェクトをラップし、いくつかの追加のフィールドが追加されますが判明します。これは、アプリ自体に影響を与えますが、テストをファックしません:

エラーになり
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

チェックアウトリソースのドキュメントのための戻り値のセクション、それはあなた

のための角度のフィールドを取り除きとして簡単な方法は、あなたが得るようということであるあなたを助ける必要がありtoJson機能についてhere

ルックに、あなたがちょうどscope.itemsプロパティを割り当てることができます。例えば:

$scope.items = resource.items; 

これはあなたのためのテストに合格し、このようngresourceを使用すると、私の見解コントローラ

で慣れることすべてであるとき、私は一般的に何をすべきかであるだろう