如何在单元测试中将存储注入Ember.Service



在我的应用程序中,我有一个初始化器,它将存储注入所有服务:

export function initialize(container, application) {
  application.inject('service', 'store', 'store:main');
}
export default {
  name: 'inject-store-in-services',
  initialize: initialize
};

我的问题是,当我运行单元测试时,服务没有store属性。所以我的问题是:除了在单元测试上下文中,有没有一种方法可以实现初始化器的功能?

在Ember的最新版本中,您可以将存储作为服务注入,例如:

Ember.Service.extend({
  store: Ember.inject.service()
});

它从属性名称中获取服务名称,因此如果您将其称为其他名称,则需要指定"store"。。例如:

Ember.Service.extend({
  banana: Ember.inject.service('store')
});