在我的应用程序中,我有这个初始化程序,它将商店注入所有服务:
export function initialize(container, application) {
application.inject('service', 'store', 'store:main');
}
export default {
name: 'inject-store-in-services',
initialize: initialize
};
我的问题是,当我运行单元测试时,服务没有store
属性。所以我的问题是:有没有办法实现我的初始化程序在单元测试上下文中的作用?
答案 0 :(得分:13)
在最近的Ember版本中,您可以将商店注入服务,例如:
Ember.Service.extend({
store: Ember.inject.service()
});
它从属性名称中获取服务名称,因此如果您将其称为其他内容,则需要指定' store' ...例如:
Ember.Service.extend({
banana: Ember.inject.service('store')
});