Ember2:提取模型数据

Ember 2: extract model data

有没有什么方法可以从现有的 Ember 应用程序(ember 版本 >= 2.10)中提取模型数据而不更改应用程序的源代码。

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

您不能从 store 的命名空间之外访问它。这意味着如果您无法访问 Ember container,您将无法查找 store.

您将不得不修改源代码来做一些骇人听闻的事情,例如将主应用程序 store 设置为全局 属性(不推荐,因为它会导致内存泄漏) 并使用您的测试套件访问全局 store

推荐:依靠Ember深思熟虑的验收测试: 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