注入后的 JS-Data 慢茉莉花测试
JS-Data slow jasmine tests after inject
我在 angularjs 中有一个 JS-Data 资源,每次我在 (Jasmine) 测试中对其调用 inject
时,测试都会变慢,最多需要 700 毫秒。
每次测试后我都在做 ejectAll()
。它也没有执行任何 $http
请求,所以我没有线索...
知道为什么 JS-Data 注入在我的测试中会这么慢吗?
发现:在我的资源定义中,我将 UseClass
属性 设置为更改实例的模型,用 getter 到 Object.defineProperty
替换数组。
如前所述 here:
The DS.change fires on a Resource whenever any item in the Store for
that Resource changes.
getter 导致 JS-Data 认为实例已更改,从而触发无限摘要循环。 10 次摘要后 angular 放弃,但这需要一些时间,导致测试缓慢。
经验教训:不要使用 getter 属性扩展持久化 DS 模型实例,因为它们会触发无限变化。
我在 angularjs 中有一个 JS-Data 资源,每次我在 (Jasmine) 测试中对其调用 inject
时,测试都会变慢,最多需要 700 毫秒。
每次测试后我都在做 ejectAll()
。它也没有执行任何 $http
请求,所以我没有线索...
知道为什么 JS-Data 注入在我的测试中会这么慢吗?
发现:在我的资源定义中,我将 UseClass
属性 设置为更改实例的模型,用 getter 到 Object.defineProperty
替换数组。
如前所述 here:
The DS.change fires on a Resource whenever any item in the Store for that Resource changes.
getter 导致 JS-Data 认为实例已更改,从而触发无限摘要循环。 10 次摘要后 angular 放弃,但这需要一些时间,导致测试缓慢。
经验教训:不要使用 getter 属性扩展持久化 DS 模型实例,因为它们会触发无限变化。