2017-04-06 20 views
0

私のコンポーネントでは、テンプレートのテストには、ng2-bootstrap modules alertModuleまたはdropDownModuleなどのサードパーティ製モジュールを使用しています。モジュールを含むテストコンポーネント

私はこの特定のコンポーネントをセットアップしようとしているテストとは無関係です。しかし、私がそれらを含んでいなければ、未知の指示などのためにHTMLがコンパイルに失敗するので、私のテストは失敗します。

インポートする、またはより良いそれらを気にして(私は持っていない、それは角度テストベッドでそれらを含めるために、サードパーティのモジュールを無視しないでください偽の「空」のモジュールを作成するにはどのような方法がありますテンプレートにはレンダリングされませんが、テストには関係しないのでここでは気にしません)。

答えて

1

あなたがそれらをあざけるか、エラーにし、このような角度のドキュメントで提案されているようNO_ERRORS_SCHEMAを使用することができますいずれかを宣言する必要はありませんいくつかのコンポーネントがある場合:https://angular.io/docs/ts/latest/guide/testing.html#!#shallow-component-test

beforeEach(async(() => { 
TestBed.configureTestingModule({ 
declarations: [ AppComponent, RouterLinkStubDirective ], 
schemas:  [ NO_ERRORS_SCHEMA ] 
}) 

一見のためにmore info :)

+0

サービスについてはどうですか?私は多くのサービス、特にベンダーを含んでいます。例:toastrサービス。私はそれらすべてをスタブする必要がありますか? – BlackHoleGalaxy

+0

あなたは本当のサービスを利用することもできますが、通常はstandAloneサービスをテストするのが簡単なので(あるいはベンダーサービスが既にテストされている場合)、スタブします。スタブはTestBedでさらに簡単です.configureTestingModule()設定オブジェクトをプロバイダ[]に渡すことができます{provide:RealClassService useValue:stubbedVarPreviouslyDeclared} –

関連する問題