私はAngular2から始めていますが、私が書くすべてのコンポーネントをテストしようとしています。推移的な依存性を持つAngular2コンポーネントのテスト
コンポーネントテストを書くときには、TestBedを初期化して、テストするコンポーネントのすべての(推移的な)依存関係を解決する必要があります。
今私はテスト中のコンポーネントを含む3つのアプローチ
- インポートモジュール全体を考えることができます - それは明示的にモックすべて
- テストコード内のすべての依存関係を宣言
- すべての必要な依存関係を宣言するか、インポートする必要があります依存関係 - それで彼らはそれ自身の依存関係を持っていません。
私が最初に気づいたことは、 yはメインモジュールで宣言されています。 2つ目は、コンポーネントに新しい依存関係を追加しようとすると、すべての依存テストを手動で変更する必要があります。私はそれが実行可能かどうかわからないので、私は3番目をテストしなかった。
これを処理する最善の方法は何ですか?
。このようなものは動作しません。 '@ViewChild(SubComponent)sc; sc.callFn() 'を呼び出します。テストベッドインジェクタは、模擬実装が異なるクラス名を持つので、このクラスを見つけることはありません。 – Julian