2016-06-22 3 views
0

У меня есть ресурс JS-Data в angularjs, и каждый раз, когда я вызываю inject на тест (Жасмин), тест замедляется, занимая до 700 мс.JS-Data медленные тесты жасмина после инъекции

Я уже делаю ejectAll() после каждого теста. Он также не делает никаких запросов $http, поэтому я не знаю ...

Любые идеи, почему инъекции JS-Data могут быть настолько медленными в моих тестах?

ответ

0

Обнаружено: в моем определении ресурса я установил свойство UseClass модели, которая изменила экземпляр, заменив массив на getter через Object.defineProperty. Как указано here:

В DS.change пожаров на ресурс, когда любой предмет в магазине для , что изменения ресурсов.

Получатель привел к тому, что JS-Data подумал, что экземпляр изменен, вызвав бесконечный цикл дайджеста. После 10 дайджестов угловые сдаются, но это занимает некоторое время, что приводит к медленным испытаниям.

Извлеченные уроки: не расширяйте повторяющиеся экземпляры модели DS с использованием свойств геттера, поскольку они вызывают бесконечные изменения.