有没有办法从现有的Ember应用程序(ember版本> = 2.10)中提取模型数据而不对应用程序源进行任何更改。
例如,我希望基于Ember对我的UI进行一些Selenium测试。我的一些初始化代码依赖于Ember中的Models。我可以通过一些漂亮的JS脚本提取这个模型吗?
答案 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