2017-02-15 49 views
1

有沒有什麼方法可以從現有的Ember應用程序(ember版本> = 2.10)中提取模型數據,而無需對應用程序源進行任何更改。Ember 2:提取模型數據

例如我想基於Ember對我的UI進行一些Selenium測試。我的一些初始化代碼依賴於Ember中的Models。我可以通過一些漂亮的JS腳本來提取這些模型嗎?

回答

1

您不能從其名稱空間外部訪問store。意思是如果你沒有訪問Ember container,你將無法查找store

你將不得不修改源代碼做一些哈克像設置主應用程序store作爲一個全球性財產(不推薦,因爲它可以導致內存泄漏)和訪問全球store與測試套件。

推薦:依靠灰燼深思熟慮驗收測試: 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