2016-04-14 15 views
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'); 
    })); 
}); 

答えて

3

あなたはそれをこのよう

bootstrap(App, [ 
    provide(APP_ID, {useValue: 'MyApp'}) 
]); 
+0

ニースを記述し、良いは、私はwasn知っていますあまりにも遠い。 'beforeEachProviders'の' provide(APP_ID、{useValue: '...'}) '部分を複製するのではなく、ブートストラッピングが起こるファイルをインポートすることは可能でしょうか? – BrianRT

+0

http://stackoverflow.com/a/36354220/217408プロバイダを作成して再利用する方法を参照してください。 –

関連する問題