Я пишу тест для своего собственного DS.RESTAdapter, который использует наш собственный SDK в качестве транспортера вместо вызовов ajax. Теперь я хочу протестировать адаптеры find, findAll, findQuery ... функции, которые требуют от меня передать экземпляр хранилища в качестве параметра. Например:Ember QUnit moduleFor (testing) adapter retrieve Store
findAll: function(store, type, sinceToken){...}
Чтобы быть в состоянии проверить это, я должен пройти «магазин» параметров, который не доступен в moduleFor в Ember-QUnit (в отличие от moduleForModel, где вы можете получить доступ через магазин this.store в тестовый экземпляр).
Есть ли другой способ получить доступ к текущему экземпляру магазина?
Спасибо.
Edit:
Я решил эту проблему, создав издевается для обоих, магазина и типа. Вы можете создать экземпляр магазина по:
var store = DS.Store.create({
adapter: @subject
})
И макетом для типа, так же, как обычный объект с заданными свойствами для испытания.
Я не уверен, если вы может напрямую использовать 'moduleFor', но используя только' module', вы должны иметь доступ к нему из экземпляра приложения. Вы можете использовать 'App .__ container __. Lookup ('store: main')', чтобы вернуть экземпляр хранилища данных ember-data. – jakecraige
Да, но это потребует от меня создания нового экземпляра приложения, которого я хотел избежать. Я решил создать mocks для обоих, хранить и печатать. Спасибо за комментарий. – IBQ
Любой шанс, что ваш код где-то в сети? Глядя на то, чтобы достичь того же, и может сэкономить много рытья. Очень признателен. – getdave