Ember.js: Ember 2.12 требует изменения службы заглушки в тестах

Созданный на 16 мар. 2017  ·  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 рейтинги