問題タブ [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.
angular - Angular 2 で ngOnChanges ライフサイクル フックをテストする
次のコードを使用してngOnChanges
、Angular2 のライフサイクル フックをテストします。
残念ながら、Expected spy ngOnChanges to have been called.
この例では HTML 要素の内容を確認できることを知っているというメッセージでテストが失敗しますが、ngOnChanes ライフサイクル フック内でテストする必要があるコードがいくつかあるため、それは解決策ではありません。testComponent.ngOnChanges({someMockData});
また、テストを直接呼び出したくありません。
TestComponent.value
呼び出されるようにテストから設定するにはどうすればよいngOnChanges
ですか?
angular - スペック ファイルに angular2 コンポーネントの新しいインスタンスを作成してメソッドを呼び出すにはどうすればよいですか?
method1
、method2
およびを含む myComponent がありますngOnInit
。
このコンポーネントの html テンプレートは次のとおりです。
ここに私の仕様ファイルがあります。挿入される値が大文字に変換されていることを確認する必要があります。
値 "g" を "g" に設定し、呼び出し後に "G" が返されることを確認しmethod1()
ます。
質問:
1.myComponent のインスタンスを作成する際に、fixture.nativeElement をパラメーターとして渡していますか?
2.また、コンポーネントで内部的に呼び出されている $.JSON メソッドをテストするのを手伝っていただければ。JSON リクエストをモックする方法は?
angular - Angular 2.0.0-rc.1: ビューまたはコンテンツの要素をテストする方法 (例: @ViewChildren、@ContentChildren)
上に子を作成するサービスからデータを取得するコンポーネントがありますView
。これらの子は、 が作成されたときにのみ使用できますView
。以下の私の例では、View
はテストに到達する前に作成されていないため、テスト 2 は失敗します。
成分:
仕様:
テスト 1 は成功し、テスト 2 は失敗します。View
orContent
が初期化された後に作成されたものをどのようにテストしますか?
angular - Angular2/testing: モック サービス プロバイダーでテストを実行する方法は?
Angular2 のテスト
実際のサービスではなく、モック サービスでコンポーネントを実行したいと考えています。beforeEachProviders でモック サービス (MockMyService) を提供しましたが、実際のサービスを呼び出しています。
javascript - Typescript + Angular2 テストは、JS ライブラリの依存関係が原因で失敗します
Angular2 プロジェクトで jsfeat JavaScript ライブラリを使用しています。
これを .ts および .spec.ts ファイルの先頭に置きます。
index.html に jsfeat.js を含めました。
Angular2 テストを実行したいのですが、次のようになります。
テストコードは次のとおりです。
angular - Angular 2 の TestComponentBuilder を使用すると混乱する
私はAngular 2-rc3アプリケーションに取り組んでおり、いくつかの単体テストをセットアップしており、それらは機能しています。なぜ彼らがそうするように書かなければならないのか、私には理解できません。さらに驚くべきことに、私が目にするすべて の 例 は同じアプローチをとっています。具体的には、これらの質問が私のリストの一番上にあります。
TestComponentBuilder
すべての単体テストで構成されているのはなぜですか?これは、単体テストごとに既に 7 行のコードが追加されており、私のコードの可読性はこれによって大きく損なわれています。これを次の場所に配置しようとしました
beforeEach()
:しかし、カルマは非同期性を処理できないようで、すべて
then
が実行されません。これはバグですか、それとも意図したものですか?このコンポーネントの作成を非同期で行う必要があるのはなぜですか? TestComponentBuilder クラス
createSync()
にがありますが、それを使用できませんか? もちろん試してみたところ、関数のシグネチャが異なることがわかりました:と. なぜここでコンポーネント ファクトリが必要なのですか? コンポーネントの async を作成するときに必要でないのはなぜですか? // 更新: RC4 がリリースされ、Type を受け入れるようになりました。偉大な。createAsync(rootComponentType: Type) : Promise<ComponentFixture<any>>
createSync(componentFactory: ComponentFactory<C>) : ComponentFixture<C>
createSync()
私の正気はすでにあなたに感謝します!