2
私は、アプリケーションのAPP_IDが固定値であることを確認するユニットテストを行っています。問題は、ランダムに生成されないようにAPP_IDを設定する方法がわかりません。Token AppIdのプロバイダがありません
Angular2チームのウェブサイトからのドキュメントが十分に便利ですが、私はそれを正しく解釈していた場合、私はわからない:
あなたがアプリケーションIDとして使用されるランダムに生成された値を避けるために必要がある場合このトークンを使用してルートインジェクタを設定するDIプロバイダ経由でカスタム値を提供することができます。
これは私のアプリのブートストラップのプロバイダーとして追加することを意味しますか?
bootstrap(App, [
provide(APP_ID, {name: 'MyApp'})
]);
私は遠く離れているのではないかと疑います。他の誰かがAPP_IDの設定方法や使用していることを理解しましたか?あなたの本当のアプリケーションのためのテスト
describe('default test injector',() => {
beforeEachProviders(() => [provide(APP_ID, {useValue: 'MyApp'})]);
it('should provide default id', inject([APP_ID], (id) => {
expect(id).toBe('MyApp');
}));
});
で
injector.spec.ts
import {
it,
inject,
injectAsync,
beforeEachProviders,
TestComponentBuilder
} from 'angular2/testing';
import {APP_ID} from 'angular2/core';
describe('default test injector',() => {
it('should provide default id', inject([APP_ID], (id) => {
expect(id).toBe('MyApp');
}));
});
ニースを記述し、良いは、私はwasn知っていますあまりにも遠い。 'beforeEachProviders'の' provide(APP_ID、{useValue: '...'}) '部分を複製するのではなく、ブートストラッピングが起こるファイルをインポートすることは可能でしょうか? – BrianRT
http://stackoverflow.com/a/36354220/217408プロバイダを作成して再利用する方法を参照してください。 –