Ember.js: ember 2.12 requer uma mudança de stub de serviço nos testes

Criado em 16 mar. 2017  ·  3Comentários  ·  Fonte: emberjs/ember.js

Estou recebendo este erro com a atualização recente https://travis-ci.org/kellyselden/package-hint-historic-resolver/jobs/211522381#L648

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

Talvez não goste que meu serviço seja nomeado config ? Limpei o cache do travis e executei novamente o master para verificar se é apenas ember 2.12 causando isso.

Comentários muito úteis

Como alternativa, para testes de unidade, você pode especificar needs: ['service:config'] . Isso garantirá que o serviço esteja presente no contêiner/registro quando a asserção o verificar e ainda permita o stub durante a criação, conforme mostrado acima.

Todos 3 comentários

Não tenho certeza se isso é um bug, serviços desconhecidos sempre deveriam gerar um erro. Infelizmente, isso não estava funcionando direito antes, mas foi corrigido durante o trabalho na fábrica para o recurso.

Consulte https://github.com/emberjs/ember.js/pull/14850 para obter alguns antecedentes.

O problema foi o stub de serviço em testes de unidade como este:

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

não funciona mais. Você precisa registrar o serviço de stub antes da chamada subject() agora para passar a nova declaração Ember.inject.service() .

Como alternativa, para testes de unidade, você pode especificar needs: ['service:config'] . Isso garantirá que o serviço esteja presente no contêiner/registro quando a asserção o verificar e ainda permita o stub durante a criação, conforme mostrado acima.

Esta página foi útil?
0 / 5 - 0 avaliações