問題タブ [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 投票する
1 に答える
170 参照

angular - angular2 RC5でこのサービスをテストするには?

私は現在angular2 RC5を学んでいます。angular2 RC5 で次のサービスをテストしたいのですが、どうにか構成できません。

このサービスのすべてのメソッドをテストしたいのですが、入力はありますか?

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

angular - Angular2 で MockBackend を使用して HTTP の投稿、挿入、削除の単体テストを行う方法は?

そのため、angular2 コンポーネントとサービスをテストしています。

これまでのところ、以下のようにサービス内の get リクエストをモックするために mockBackend を使用しました。

私のservice.tsを見たい場合は、以下のようになります:

上記のサービスから、正常に動作しているため、service.spec.ts ファイルに getAllPages() & getPageById() メソッドを正しく実装しました。

メソッドのテストケースの実装方法を知りたいですsavePage() , updatePage() , deletePage()

入力はありますか?

前もって感謝します。

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

angularjs - addProvider は RC6 で非推奨になっているため、angular2 jasmine テスト仕様にプロバイダーを追加するにはどうすればよいですか?

beforeEachすべてitが必要なモジュール/プロバイダーを取得できるように、次のように記述しようとしています:

しかし、addProvidersメソッドは RC6 で非推奨になっているため、プロバイダーを追加するためのより良い代替手段は何ですか?

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

angular - ngOnInit での Angular 2 RC5 テストの約束が機能しない

Jasmine で MyDirective という名前の構造ディレクティブをテストしようとしています。使用される Angular のバージョンは RC5 です。

getData メソッドは MockService クラスで上書きされますが、データの有効性をチェックする isValid メソッド (MyService の静的メソッド) は直接呼び出されます。

2 つ目itは、span 要素が DOM にあるケースを作成することになっていますが、そうではありません。次のような if ステートメントの最初の条件に当てはまるかどうかを確認しました。

そして、ログに記録します。したがって、要素をDOMに保持する必要がありますが、テストする方法が見つかりません。

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

angular - Angular2 - templateUrl を使用してコンポーネントをテストすると、「未処理の Promise 拒否」が発生します

現在、テンプレートが templateUrl で参照されている Angular 2 コンポーネントをテストする簡単なテストを作成しています。現在、テストを含む必要なタスクを実行するために webpack を使用しています。angular サイトのwebpack ガイドと AngularClass のangular2-webpack-starter repo に従っていました。

ただし、テストがコンポーネント フィクスチャを作成しようとすると、

次のエラーが表示されます。

"'未処理の Promise 拒否:'、'app.component.html の読み込みに失敗しました'、'; ゾーン:'、'ProxyZone'、'; タスク:'、'Promise.then'、'; 値:'、'失敗しましたapp.component.html をロード',"

したがって、明らかにテストが失敗します。

私の app.component.ts では、次のように templateUrl を介してテンプレートを参照しています

周りを見回しましたが、このエラーの解決策が見つかりませんでした。この問題を知っている人はいますか?これまでに遭遇したすべての例 (たとえば、このリポジトリhttps://github.com/rangle/angular2-redux-exampleの例など) にはすべてインライン html が含まれています。

webpack / karma 構成ファイルを確認したい場合に備えて、私のレポへのリンクを次に示します。 https://github.com/jeanpaulattard/tourofheroes

編集:私のレポのマスターブランチへのリンクを更新しました。

0 投票する
6 に答える
27344 参照

angular - テスト - (ClassName) のすべてのパラメーターを解決できません

環境

ApiService独自のシリアライザーとその他の機能を使用しながら、カスタム API クエリを処理できるクラスを作成しました。

ApiServiceのコンストラクターの署名は次のとおりです。

  • MetaManagerAPI のメタデータを処理する注入可能なサービスです。
  • ApiConnectorServiceHttpカスタムヘッダーと署名システムを追加するためのラッピングサービスです。
  • EventDispatcherは基本的に Symfony のイベント ディスパッチャー システムであり、typescript で記述されています。

問題

をテストするときApiServiceは、 で初期化を行いますbeforeEach

そしてそれはうまくいきます。

次に、 用の 2 番目のスペック ファイルを次のように追加ApiConnectorServicebeforeEachます。

そして、すべてのテストが次のエラーで失敗します。

エラー: ApiService のすべてのパラメーターを解決できません: (MetaManager、?、EventDispatcher)。

  • api-connector-service.spec.tsロードしたテストから(ApiConnectorServiceの仕様ファイル)を削除すると、ApiServiceのテストは成功します。
  • api-service.spec.tsロードしたテストから(ApiServiceの仕様ファイル)を削除すると、ApiConnectorServiceのテストは成功します。

なぜこのエラーが発生するのですか? 私の 2 つのファイル間のコンテキストが競合しているように見えますが、これを修正する理由と方法がわかりません。

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

unit-testing - Angular2 で FormControl を単体テストする方法

テスト中の私の方法は次のとおりです。

お分かりのように、paymentTerm は Observable を返すフォーム コントロールであり、その後サブスクライブされ、戻り値がチェックされます。

FormControl の単体テストに関するドキュメントが見つからないようです。最も近いのは、Mocking Http requests に関するこの記事です。これは、Observable を返すのと同様の概念ですが、完全には当てはまらないと思います。

参考までに、私は Angular RC5 を使用しており、Karma でテストを実行しています。フレームワークは Jasmine です。