問題タブ [debounce]

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 に答える
548 参照

angular - サービスへのデバウンスされた更新された値の呼び出しを使用してフォーム フィールドをテストする

コンポーネントにフォーム フィールド (ユーザー名) があり、更新時にサービスを呼び出してデータベース内の値の可用性を確認します。すべてが正常にチェックアウトされますが、フィールドの更新機能をトリガーできないようです。

コンポーネントコードからの抜粋は次のとおりです。

コンポーネントのテンプレートのフィールドは次のとおりです。

これが私のテストです:

その最後expect(service.chkUser).toHaveBeenCalled()が、私のテストが失敗する原因です。このコンポーネントをアプリケーションで実行しましたが、期待どおりに動作します。テストに合格しようとしているだけです。入力値の設定とイベントのディスパッチ、フィクスチャを検出するのを待つ、または whenStable() を使用する、promise をスローする、fakeAsync を使用しない、fakeAsync を使用するなど、非常に多くの組み合わせを試しました。何も機能していないようです。