私はAngular2(2.1.0)の最終リリースを使用しています。単体テスト時にどのコンポーネントをインポートするのかをどのように知っていますか?
...
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [AppModule],
...
を使用してユニットテストは、しかし、これは、テストの実行が遅い作ったとき、私はAppModuleを経由して、すべてのコンポーネントをインポートしました。
私は今...次のように私は必要なコンポーネントのみをリストアップしています
beforeEach(async(() => {
// noinspection JSUnusedGlobalSymbols
TestBed.configureTestingModule({
imports: [BrowserModule, FormsModule, HttpModule], // modules
declarations: [
// pipes
AttributeCheckPipe,
// directives
// DatePickerDirective,
...
はしかし、私はたくさんおよび部品の多くを持っていると私は、インポートするものを確認していません。テスト出力では、インポートする必要があるものは教えられません。それはただ単に渡すとき(私がそれらをすべてインポートするとき)または失敗する(もしそうでなければ)が、どれが必要かを教えてくれない。
エラー迷惑/役に立たない。..
[email protected]_modules/zone.js/dist/zone.min.js:1:36996
[email protected]_modules/zone.js/dist/proxy.min.js:1:2190
[email protected]_modules/zone.js/dist/zone.min.js:1:36939
[email protected]_modules/zone.js/dist/zone.min.js:1:31466
[email protected]_modules/zone.js/dist/zone.min.js:1:17818
[email protected]_modules/core-js/client/shim.min.js:8:19058
node_modules/core-js/client/shim.min.js:8:19180
[email protected]_modules/core-js/client/shim.min.js:8:14294
[email protected]_modules/zone.js/dist/zone.min.js:1:18418
[email protected]_modules/zone.js/dist/zone.min.js:1:18175
node_modules/zone.js/dist/zone.min.js:1:18715
にはどうすればいいのコンポーネントは、私がインポートに失敗したかについてのフィードバックを得るのですか? thx
私はKarmaとPhantomJSを使用しています。
私のカルマの設定の抜粋は
client: {
captureConsole: true
},
logLevel: config.LOG_DEBUG
この質問に答えるには、あなたのコンポーネントとそのテンプレートを確認する必要があります –
ああ、私はなぜ、他のコンポーネント/パイプなどを見たいのですか?テンプレートにはどのコンポーネントが使用されていますか?これらのコンポーネントが使用しているコンポーネントは何ですか?私は正しい行を考えていますか?あなたが忘れてしまったことだけをログに記録する簡単な方法はありませんか? – danday74
かなり。通常、コンポーネントをロードして、テスト宣言に欠落しているディレクティブを指定しようとすると、テンプレートの解析に関するエラーが発生し、要素のバインディングが見つかりません。そんな感じ。しかし、一般的には、あなたが必要なものをすでに知っているはずです。あなたはコンポーネントを作成し、あなたが使ったものを知っています –