問題タブ [angular2-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
33835 参照

angular - Angular 2 で ngOnChanges ライフサイクル フックをテストする

次のコードを使用してngOnChanges、Angular2 のライフサイクル フックをテストします。

残念ながら、Expected spy ngOnChanges to have been called.この例では HTML 要素の内容を確認できることを知っているというメッセージでテストが失敗しますが、ngOnChanes ライフサイクル フック内でテストする必要があるコードがいくつかあるため、それは解決策ではありません。testComponent.ngOnChanges({someMockData});また、テストを直接呼び出したくありません。

TestComponent.value呼び出されるようにテストから設定するにはどうすればよいngOnChangesですか?

0 投票する
1 に答える
378 参照

angular - スペック ファイルに angular2 コンポーネントの新しいインスタンスを作成してメソッドを呼び出すにはどうすればよいですか?

method1method2およびを含む myComponent がありますngOnInit

このコンポーネントの html テンプレートは次のとおりです。

ここに私の仕様ファイルがあります。挿入される値が大文字に変換されていることを確認する必要があります。

値 "g" を "g" に設定し、呼び出し後に "G" が返されることを確認しmethod1()ます。

質問:

1.myComponent のインスタンスを作成する際に、fixture.nativeElement をパラメーターとして渡していますか?
2.また、コンポーネントで内部的に呼び出されている $.JSON メソッドをテストするのを手伝っていただければ。JSON リクエストをモックする方法は?

0 投票する
2 に答える
1815 参照

angular - Angular 2.0.0-rc.1: ビューまたはコンテンツの要素をテストする方法 (例: @ViewChildren、@ContentChildren)

上に子を作成するサービスからデータを取得するコンポーネントがありますView。これらの子は、 が作成されたときにのみ使用できますView。以下の私の例では、Viewはテストに到達する前に作成されていないため、テスト 2 は失敗します。

成分:

仕様:

テスト 1 は成功し、テスト 2 は失敗します。VieworContentが初期化された後に作成されたものをどのようにテストしますか?

0 投票する
1 に答える
2466 参照

angular - Angular2/testing: モック サービス プロバイダーでテストを実行する方法は?

Angular2 のテスト

実際のサービスではなく、モック サービスでコンポーネントを実行したいと考えています。beforeEachProviders でモック サービス (MockMyService) を提供しましたが、実際のサービスを呼び出しています。

0 投票する
1 に答える
198 参照

javascript - Typescript + Angular2 テストは、JS ライブラリの依存関係が原因で失敗します

Angular2 プロジェクトで jsfeat JavaScript ライブラリを使用しています。

これを .ts および .spec.ts ファイルの先頭に置きます。

index.html に jsfeat.js を含めました。

Angular2 テストを実行したいのですが、次のようになります。

テストコードは次のとおりです。

0 投票する
2 に答える
2853 参照

angular - Angular 2 の TestComponentBuilder を使用すると混乱する

私はAngular 2-rc3アプリケーションに取り組んでおり、いくつかの単体テストをセットアップしており、それらは機能しています。なぜ彼らがそうするように書かなければならないのか、私には理解できません。さらに驚くべきことに、私が目にするすべて は同じアプローチをとっています。具体的には、これらの質問が私のリストの一番上にあります。

  1. TestComponentBuilderすべての単体テストで構成されているのはなぜですか?

    これは、単体テストごとに既に 7 行のコードが追加されており、私のコードの可読性はこれによって大きく損なわれています。これを次の場所に配置しようとしましたbeforeEach()

    しかし、カルマは非同期性を処理できないようで、すべてthenが実行されません。これはバグですか、それとも意図したものですか?

  2. このコンポーネントの作成を非同期で行う必要があるのはなぜですか? TestComponentBuilder クラスcreateSync()にがありますが、それを使用できませんか? もちろん試してみたところ、関数のシグネチャが異なることがわかりました:と. なぜここでコンポーネント ファクトリが必要なのですか? コンポーネントの async を作成するときに必要でないのはなぜですか? // 更新: RC4 がリリースされ、Type を受け入れるようになりました。偉大な。createAsync(rootComponentType: Type) : Promise<ComponentFixture<any>>createSync(componentFactory: ComponentFactory<C>) : ComponentFixture<C>createSync()

私の正気はすでにあなたに感謝します!