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を再実行して、これが原因であるのはember2.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
  }
});

動作しなくなりました。 新しいEmber.inject.service()アサーションを渡すには、今すぐsubject()を呼び出す前にスタブサービスを登録する必要があります。

または、単体テストの場合、 needs: ['service:config']を指定できます。 これにより、アサーションがサービスをチェックするときにサービスがコンテナ/レジストリに存在することが保証され、上記のように作成中にスタブが可能になります。

このページは役に立ちましたか?
0 / 5 - 0 評価