Ember.js: ember 2.12 需要在测试中更改服务存根

创建于 2017-03-16  ·  3评论  ·  资料来源: emberjs/ember.js

我在最近的更新中遇到了这个错误https://travis-ci.org/kellyselden/package-hint-historic-resolver/jobs/211522381#L648

Attempting to inject an unknown injection: 'service:config'

也许它不喜欢我的服务被命名为config ? 我清除了 travis 缓存并重新运行 master 以验证它只是 ember 2.12 造成的。

最有用的评论

或者,对于单元测试,您可以指定needs: ['service:config'] 。 这将确保当断言检查服务时服务存在于容器/注册表中,并且仍然允许在创建期间存根,如上所示。

所有3条评论

我不确定这是一个错误,未知服务总是应该抛出错误。 不幸的是,这以前不能正常工作,但在工厂工作期间修复了功能。

有关一些背景信息,请参阅https://github.com/emberjs/ember.js/pull/14850

问题是这样的单元测试中的服务存根:

// with a service named `config`
let service = this.subject({
  config: {
    cacheTime: 34
  }
});

不再工作。 您现在需要在subject()调用之前注册存根服务以传递新的Ember.inject.service()断言。

或者,对于单元测试,您可以指定needs: ['service:config'] 。 这将确保当断言检查服务时服务存在于容器/注册表中,并且仍然允许在创建期间存根,如上所示。

此页面是否有帮助?
0 / 5 - 0 等级