問題タブ [httpbackend]
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.
angularjs - $httpBackend を使用して AngularJS を単体テストすると、「エラー: 予期しない要求」が返される
この質問の前に、ほぼ同じタスクを実行する「LoginCtrl」で機能するテストを既に取得したと言っておきましょう。これは、私が見落としていた本当に小さな問題だと確信しています。助けてくれてありがとう:)
httpBackend
テストの期待値/応答を設定しましたが、実行すると、期待値を設定してhttpBackend.flush()
いないかのようになります。
テスト コード:
出力応答:
angularjs - AngularJS $httpBackend を使用して BreezeJS executeQuery に応答する際の問題
BreezeJS をエンティティ マネージャーとして機能させながら、$httpBackend を使用して仕様または e2e テストを構築できた人はいますか?
BreezeJS コードは次のとおりです。
AngularJS $httpBackend を使用した Jasmine 仕様のテスト コードは次のとおりです。
しかし、ジャスミンのテストに失敗しました
このそよ風の方法は、ブラウザでの実行では問題なく機能しますが、テスト中は機能しません。ただし、angularJS の $http または $resource を使用するように変換すると、このテストはパスします。BreezeJS が仕様および e2e テスト用の $httpBackend と互換性がないかどうか疑問に思っています。
洞察をありがとう。
//編集 --- スティーブの応答のために AJAX をモックしようとした後
これも失敗します。
angularjs - $httpBackend.flush() には、オブジェクトを定義するためのタイムアウトがまだ必要です
Karma を使用して AngularJS アプリを単体テストし、$HttpBackend を使用してバックエンドをスタブしています。どういうわけか、コントローラー内の変数の一部がまだ未定義のままであるため、flush() メソッドはすべてのリクエストを解決していないようです。ただし、期待を解決する前にタイムアウトを追加すると、正常に動作します!
私のコントローラー:
私の仕様:
どんな助けでも大歓迎です!
regex - AngularJS で正規表現を使用する方法 $httpBackend ExpectGET
$resource GET リクエストでパラメーターとして URL を渡しています。Angular はこのパラメータを URL エンコードしており、$httpBackend.expectGET メソッドでリクエストを照合するのは面倒です。
正規表現を使用して予想される要求に一致させることはできますが、機能させることはできません。リソースの場所を一致させたいのですが、「uri」クエリ文字列パラメーター値と一致させたいです。
コントロール
テスト
カルマ出力
私の正規表現が一致しない理由を誰かが見ることができますか?
編集
提案されたように正規表現を改善した後でも、「 $var」注入構文を使用してこれを機能させることができませんでした。テストを書き直し、関数 inject を使用して依存関係を注入し、テスト配置の順序が正しいことを確認しました。今では魔法のように機能しています!
angularjs - e2e テストと $httpBackend を使用して Yeoman によって生成された AngularJS アプリの例はありますか?
モジュール$httpBackend
からのe2eテストを持つyo angular generatorによって生成されたAngularJSアプリの例はどこにありますか? ngMockE2E
できれば、CI と開発用の単一バージョンと連続バージョンを使用します。
$httpBackend を使用するには、元のアプリ モジュールとngMockE2E
モジュールに依存する新しいアプリを作成する必要があり、この新しいアプリをロードする新しい index.html ファイルが必要なようです。
テストで別のアプリを使用する場合、テスト用に生成されたファイルをgrunt server
コマンド ( .tmp
) によって生成されたファイルとは別の場所に保存するように構成を変更する必要がありますか? それとも、これらのファイルはまったく同じでしょうか? PhantomJS を使用してバックグラウンドで e2e テストを実行しながら、開発用に grunt サーバーを実行できるようにしたいと考えています。
index.html に基づいて変更された index-e2e.html ファイルを自動的に生成するタスクを作成した人はいますか? このようにして、常に最新の状態になり、watch で使用して、元の index.html ファイルが変更されるたびに自動的に再生成することもできます。
angularjs - 予期しない要求: GET $httpBackend でこれ以上の要求は期待されていません
ユーザーがボタンをクリックしたとき、または何らかのイベントがトリガーされてこの関数が自動的に呼び出されたときに、サービスのステータスを取得する関数がスコープ内にあります。
これは、使用しているコントローラーで定義された私の関数です。
単体テストは次のように作成されます。
単体テストでは、同じコントローラーで他の $httpBackend テストも行っていますが、それらはすべてスムーズに動作します。私は何を間違っていますか?
angularjs - AngularJS/karma/jasmine テストで $http 経由でバックエンド API をテストしていますか?
AngularJS/karma/jasmine テストを使用して API バックエンドをテストするにはどうすればよいですか?
エラーを示す最小のテストケースを作成しようとしました:
echo_server.py
テスト/ユニット/apiSpec.js
の出力karma start configs/karma.conf.js
unit-testing - $rootScope と $httpBackend を使用した Angularjs 単体テスト
HTTP リクエストを発行するサービスがあります。このリクエストは $rootScope.config オブジェクトを使用します (私のベース URL が保存されています) が、何らかの理由で $httpBackend を使用すると、$rootScope が正しくロードされません。
サービス:
テスト:
通常、テストで $rootScope を何らかの値に設定すると機能しますが、このテストでは機能しません。
$httpBackend を使用している場合、私のサービスで $rootScope に config 属性がないのはなぜですか?