注入后JS-Data缓慢茉莉花测试

时间:2016-06-22 09:55:32

标签: jasmine karma-jasmine jsdata js-data-angular

我在angularjs中有一个JS-Data资源,每次在(Jasmine)测试中调用inject时,测试都会减慢,最多需要700毫秒。

我在每次测试后都在做ejectAll()。它也没有做任何$http请求,所以我没有线索......

为什么JS-Data注入可能在我的测试中如此缓慢?

1 个答案:

答案 0 :(得分:0)

找到它:在我的资源定义中,我将UseClass属性设置为更改实例的模型,将数组替换为通过Object.defineProperty的getter。 如上所述here

  

只要Store中的任何项目,DS.change就会触发资源   资源发生变化。

getter导致JS-Data认为实例发生了变化,触发了无限的摘要循环。 10次​​消化后,角度放弃,但需要一些时间,导致测试缓慢。

获得的经验教训:不要使用getter属性扩展持久性DS模型实例,因为它们会触发无限更改。