問題タブ [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 に答える
222 参照

jasmine - Jasmine を使用した Angular2 のテスト。依存関係を正しくロードするには?

私は非常に簡単なテストをしています。できます。

対応する依存関係を読み込もうとしています。しかし、それは機能しません:

なんで?

ブラウザのコンソールからのエラー メッセージ:

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

angular - Angular2 ユニット テスト コンポーネントが「DirectiveResolver のプロバイダーなし」を取得する

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

さえないこのテストを実行しようとしている間expect(実際にそこに到達するよりも早くクラッシュしています):

そして、これは私の karma.config.js です:

そして、これは私のものtest-setup.jsです:

なぜこれが起こっているのか、または私が何をすべきなのか、誰にも分かりますか?

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

html - Angular 2 での routerLink ディレクティブのテスト

ルーティングの作業をテストしようとしています。navbar を別のコンポーネント - MdNavbar に移動しました。そこには基本的にhtmlとcssのみがあり、RouteConfigは他のコンポーネントにあり、MdNavbarはそこに注入されます。リンクをクリックしたときにルートが変更されることをテストしたい。テストでは、プロファイル リンクを探してクリックしています。路線変更に期待です。これが私のテストのコードです-

次の結果でテストが実行されます -

そして二つ目――

誰かが私にヒントを教えてください。正確に何が間違っているのですか?

ここにパーツ ナビゲーション バー コンポーネント テンプレートがあります -

追加: Günter Zöchbauer の回答のおかげで、私にとって有効な解決策を見つけることができました。

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

javascript - ES5 での Angular 2 rc.1 テスト

Angular 2 RC.1 モジュールで ES5 を使用すると、npm パッケージ*.umd.jsは Angular 2 アプリを実行するために必要なものを提供します。

*.umd.jsただし、 Angular 2 テストを記述するためのファイルはありません。

モジュールシステムの前は、 をインクルードしてテストを書きましたangular2-all-testing.umd.dev.js。Angular 2 がモジュールに分割された今、テストを書くために何を使用しますか?

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

sass - Webpack、Angular2、および SASS プロジェクトでカルマを機能させるには?

angular2-webpack-starterを使用しており、スタイルシートを SASS として持っています。すべてが完全に機能していますが、カルマ テストを実行しようとすると失敗し、このエラーが発生します

karma-sass-preprocessorkarma-scss-preprocessorをインストールしようとしましたが、何も機能していないようです。私は何をすべきか?

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

unit-testing - Angular2 コンポーネント: フォーム入力値の変更のテスト

テキスト入力があり、変更をリッスンしています。

mycomponent.ts

mycomponent.html

アプリケーションを実行するとすべて正常に動作しますが、単体テストを行いたいと考えています。

だからここに私が試したものがあります

mycomponent.spec.ts

.search()メソッドが呼び出されないため、テストは失敗します。

テストに変更を認識させるには、別の方法で設定する必要があると思いますvalueが、その方法は本当にわかりません。

誰にもアイデアがありますか?

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

unit-testing - .subscribe 前の Angular2 テスト ロジック

現在、コンポーネントの 1 つの単体テストを作成しています。特に、私はlogin(): void機能を持っています。単純化されたロジックは次のとおりです。

を呼び出す前にshowSpinnerプロパティが に設定されていることを確認するテストを書くのに苦労しています。trueuserService.login

これが私のテストです:

そして、このテストは失敗します。これは、.subscribeすぐに解決/実行されるためです (コンポーネントでコメントアウトしようとしたところthis.showSpinner = false、テストに合格しました)。

私のuserServiceモックでは、loginメソッドのモックに対して次のものがあります。

this.loginSpy = this.spy('login').andReturn(Observable.of(this));

はどこthisですかmockUserService

userServiceこのコンポーネントには正しく動作する他のテストがあるため、私はモックを作成し、特にloginメソッドをuserService正しく動作させていると確信しています。

また、スパイから戻ってテストObservable.of(this).delay(1)を呼び出してみました。tick(1)ただし、テストに合格することもあれば、次のようなエラーが表示されることもあるという点で、一貫性のない動作が発生します。

Error: 1 periodic timer(s) still in the queue.

に先行するロジックをテストするにはどうすればよい.subscribe()ですか?