Как вставить магазин в Ember.Service в модульные тесты?
В моем приложении у меня есть этот инициализатор, который вводит хранилище во все службы:
export function initialize(container, application) {
application.inject('service', 'store', 'store:main');
}
export default {
name: 'inject-store-in-services',
initialize: initialize
};
Моя проблема заключается в том, что при выполнении модульных тестов службы не имеют свойства store
. Итак, мой вопрос: есть ли способ достичь того, что делает мой инициализатор, но внутри контекста unit test?
Ответы
Ответ 1
В последних версиях Ember вы можете ввести хранилище в качестве сервиса, например:
Ember.Service.extend({
store: Ember.inject.service()
});
Он получает имя службы из имени свойства, поэтому, если вы называете это чем-то другим, вам нужно указать "store"... например:
Ember.Service.extend({
banana: Ember.inject.service('store')
});