問題タブ [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.
jasmine - Jasmine を使用した Angular2 のテスト。依存関係を正しくロードするには?
私は非常に簡単なテストをしています。できます。
対応する依存関係を読み込もうとしています。しかし、それは機能しません:
なんで?
ブラウザのコンソールからのエラー メッセージ:
angular - Angular2 ユニット テスト コンポーネントが「DirectiveResolver のプロバイダーなし」を取得する
次のエラーが表示されます。
さえないこのテストを実行しようとしている間expect
(実際にそこに到達するよりも早くクラッシュしています):
そして、これは私の karma.config.js です:
そして、これは私のものtest-setup.js
です:
なぜこれが起こっているのか、または私が何をすべきなのか、誰にも分かりますか?
html - Angular 2 での routerLink ディレクティブのテスト
ルーティングの作業をテストしようとしています。navbar を別のコンポーネント - MdNavbar に移動しました。そこには基本的にhtmlとcssのみがあり、RouteConfigは他のコンポーネントにあり、MdNavbarはそこに注入されます。リンクをクリックしたときにルートが変更されることをテストしたい。テストでは、プロファイル リンクを探してクリックしています。路線変更に期待です。これが私のテストのコードです-
次の結果でテストが実行されます -
そして二つ目――
誰かが私にヒントを教えてください。正確に何が間違っているのですか?
ここにパーツ ナビゲーション バー コンポーネント テンプレートがあります -
追加: Günter Zöchbauer の回答のおかげで、私にとって有効な解決策を見つけることができました。
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 がモジュールに分割された今、テストを書くために何を使用しますか?
sass - Webpack、Angular2、および SASS プロジェクトでカルマを機能させるには?
angular2-webpack-starterを使用しており、スタイルシートを SASS として持っています。すべてが完全に機能していますが、カルマ テストを実行しようとすると失敗し、このエラーが発生します
karma-sass-preprocessorとkarma-scss-preprocessorをインストールしようとしましたが、何も機能していないようです。私は何をすべきか?
unit-testing - Angular2 コンポーネント: フォーム入力値の変更のテスト
テキスト入力があり、変更をリッスンしています。
mycomponent.ts
mycomponent.html
アプリケーションを実行するとすべて正常に動作しますが、単体テストを行いたいと考えています。
だからここに私が試したものがあります
mycomponent.spec.ts
.search()
メソッドが呼び出されないため、テストは失敗します。
テストに変更を認識させるには、別の方法で設定する必要があると思いますvalue
が、その方法は本当にわかりません。
誰にもアイデアがありますか?
unit-testing - .subscribe 前の Angular2 テスト ロジック
現在、コンポーネントの 1 つの単体テストを作成しています。特に、私はlogin(): void
機能を持っています。単純化されたロジックは次のとおりです。
を呼び出す前にshowSpinner
プロパティが に設定されていることを確認するテストを書くのに苦労しています。true
userService.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()
ですか?