Ember 2:提取模型数据

时间:2017-02-15 07:27:40

标签: javascript selenium ember.js ember-data

有没有办法从现有的Ember应用程序(ember版本> = 2.10)中提取模型数据而不对应用程序源进行任何更改。

例如,我希望基于Ember对我的UI进行一些Selenium测试。我的一些初始化代码依赖于Ember中的Models。我可以通过一些漂亮的JS脚本提取这个模型吗?

1 个答案:

答案 0 :(得分:1)

您无法从其命名空间外部访问store。这意味着如果您无法访问Ember container,则无法查找store

您必须修改源代码以执行一些hacky,例如将主App store设置为全局属性(不推荐,因为它可能导致内存泄漏)并访问全局store与您的测试套件。

推荐:依靠Embers精心设计的验收测试: https://guides.emberjs.com/v2.11.0/testing/acceptance/

如果您确实可以访问App实例,则可以简单地:

var store = App.__container__.lookup('store:main');
var post = this.store.peekRecord('post', 1); // => no network request