在我的应用程序中,我有这个初始化器将商店注入所有服务:
export function initialize(container,application) {
application.inject('service','store','store:main');
}
export default {
name: 'inject-store-in-services',initialize: initialize
};
我的问题是,当我运行单元测试时,服务没有存储属性.所以我的问题是:有一种方法来实现我的初始化程序,但在单元测试环境中?
解决方法
在最新版本的Ember中,您可以将商店注入服务,例如:
Ember.Service.extend({
store: Ember.inject.service()
});
它从属性名称获取服务名称,因此,如果您调用其他名称,您需要指定“存储”.例如:
Ember.Service.extend({
banana: Ember.inject.service('store')
});