2016-06-22 3 views
0

私はangularjsでJS-Dataリソースを使用していますが、(Jasmine)テストでinjectを呼び出すたびに、テストが遅くなり、最大700msかかります。JS-Data注入後遅いジャスミン試験

各テスト後に既にejectAll()を行っています。 $httpリクエストもありませんので、私は手がかりから外しています...

私のテストでJS-Dataの注射が遅くなる理由は何ですか?

答えて

0

見つかりました:私のリソース定義ではObject.definePropertyを介してゲッターで置き換えるインスタンスを変更したモデルにUseClassプロパティを設定しました。リソース上の

DS.change火災 のための店で任意の項目は、リソースが変更されるたびに: としてはhereを述べました。

getterは、インスタンスが変更されたと考えるためにJS-Dataをもたらし、無限のダイジェストループを引き起こしました。 10回のダイジェストが放棄された後、時間がかかり、テストが遅くなります。

教訓:無限の変更を引き起こすため、ゲッタープロパティを使用して永続DSモデルインスタンスを拡張しないでください。

関連する問題