私はangularjsでJS-Dataリソースを使用していますが、(Jasmine)テストでinject
を呼び出すたびに、テストが遅くなり、最大700msかかります。JS-Data注入後遅いジャスミン試験
各テスト後に既にejectAll()
を行っています。 $http
リクエストもありませんので、私は手がかりから外しています...
私のテストでJS-Dataの注射が遅くなる理由は何ですか?
私はangularjsでJS-Dataリソースを使用していますが、(Jasmine)テストでinject
を呼び出すたびに、テストが遅くなり、最大700msかかります。JS-Data注入後遅いジャスミン試験
各テスト後に既にejectAll()
を行っています。 $http
リクエストもありませんので、私は手がかりから外しています...
私のテストでJS-Dataの注射が遅くなる理由は何ですか?
見つかりました:私のリソース定義ではObject.defineProperty
を介してゲッターで置き換えるインスタンスを変更したモデルにUseClass
プロパティを設定しました。リソース上の
DS.change火災 のための店で任意の項目は、リソースが変更されるたびに: としてはhereを述べました。
getterは、インスタンスが変更されたと考えるためにJS-Dataをもたらし、無限のダイジェストループを引き起こしました。 10回のダイジェストが放棄された後、時間がかかり、テストが遅くなります。
教訓:無限の変更を引き起こすため、ゲッタープロパティを使用して永続DSモデルインスタンスを拡張しないでください。