問題タブ [angular-test]
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.
javascript - 仕様のコールバック関数を Async でラップする必要があるのはいつですか?
何らかの理由で、これら 2 つの仕様は合格していますが、2 番目の仕様は、サービスからの非同期データを使用して、テンプレート内で補間をテストしています。コールバック関数を async でラップする必要がないのはなぜですか?
angular - コンポーネントのAngular 5テスト静的メソッド
テストしているコンポーネント クラスに静的メソッドがあります。質問は、仕様テスト ファイル内でそのメソッドにアクセスする方法です。
これまでのところ、次の方法でコンポーネント インスタンスにアクセスできます。
angular - onInit で非同期呼び出しを使用して Angular ディレクティブをテストする
onInit メソッドで認可サービスを呼び出す Angular ディレクティブがあります。次のようになります。
私はそれをテストしたいので、ダミーコンポーネントに設定するテストを作成しました:
今、私はそれがうまくいかないことを知っています。テスト自体には複数の問題があることを認識しています。これは、確認したいものの例にすぎません。
私はdetectChanges、fakeAsync、tick()sなどで何度も試しました。過去3時間かけて(ディレクティブをテストするのは初めてで、Angular自体にはかなり慣れていません)、Googleの最初の4ページをチェックしました。
- onInit が作動する前に、サービスからの応答がモックされますか? - ディレクティブの .subscribe() がテストで期待される前に完了していますか? 表示されていない他の問題はありますか? 設定は正しいですか?
angular - このAngular Validation Directiveが非同期に見えるのはなぜですか?
[min]
テンプレートフォームとディレクティブを使用したかった[max]
ので、それらを作成しましたが、機能します。しかし、テストは私を混乱させます: 検証は非同期的に実行されませんが、値やものを変更した後、これを実行する必要があります:
whenStable()
別のdetectChanges()
サイクルは言うまでもなく、なぜそれが必要なのかわかりません。ここで何が欠けていますか?この検証を実行するには、なぜ変更検出の 2 サイクルが必要なのですか?
テストを実行するかどうかは関係ありasync
ません。
これが私のテストです:
そして、ここにディレクティブ自体があります(少し簡略化されています):
バージョン 1.6.8 と最新の angular 5.2ng new app
を使用して、これを真新しいものでテストしました。@angular/cli