問題タブ [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 による $resource サービスのテストに関する問題
私は何かが恋しいと思います。私のテストが機能しない理由を理解しようと、しばらく時間を費やしました。
コード。
テスト:
それは決してトリガーしません:「successssssssssssssssssssssssssssssssssss」。
私は何を取りこぼしたか?
angularjs - httpBackend.flush() の結果、成功コールバックの代わりにエラー コールバックが呼び出されます
$get で $resource を呼び出す、完全に機能するサービス (実際にはプロバイダー) があります。単体テストを試みて、httpBackend を使用して応答をモックします。サービスをテストに挿入します。リソースが呼び出されます。httpBackend を flush() しましたが、success コールバックが呼び出される代わりに、ステータス 200 を指定したにもかかわらず、エラー コールバックがステータス 500 で呼び出されます。これはなぜですか?
サービス:
私の単体テスト:
最後の 2 つの期待は失敗し、「エラー!」となります。が記録されます。ステータス コード 500 を取得していますが、それがどこから来ているのかわかりません。200 を指定しました。エラー コールバックは正しいデータを受け取りますが、ステータス コードが変更されています。何が原因で、どうすれば修正できますか?
angularjs - $httpBackend 使用時の Jasmine エラー
私は Visual Studio でAngularJsの上に chutzpah テスト アダプターを使用して Jasmine を使用しています。
テストを実行すると、次のエラーが発生します。
- エラー: 予期しない要求: GET /webapi/api/Map
- エラー: 満たされていない要求: GET /webapi/api/Map/
サービス:
テスト:
誰かが私が欠けているものを提案できますか?
angularjs - AngularJS: $httpBackend の応答をブラウザで直接確認するにはどうすればよいですか?
私のバックグラウンドは Web 開発ではないため、用語が間違っている可能性があります。申し訳ありません。
要するに、$httpBackend
データを提供している場所を把握するのに苦労しています。$httpBackend
この質問は、一般的にどのように機能するかをよりよく理解することと同じくらい、修正を見つけることに関するものです。詳細はこちら。
AngularJS でシングルページ アプリを作成しています。シーダーとして、npm と bower を使用する Web サイトの AngularJS "Phone Catalog" サンプル プロジェクトを使用しています。
いくつかの RESTful Web サービスにアクセスするには、アプリが必要になります。現在使用しているngMockE2Eに出会いました。そのため、メインの app.js を index.html にロードするだけでなく、依存関係としてアプリと ngMockE2E を持つ devapp.js もロードしています
var devapp = angular.module('devapp', ['app', 'ngMockE2E']);
。
内部でdevapp
は、次のように Web サービスをモックします。
アプリを実行し、$http
/json/items に呼び出しを送信するサービスを構築すると、すべて正常に動作します。
しかし、実際のブラウザーで出力を確認したいと思います。なぜかURLが見当たりません!
にアクセスすると index.html が起動しlocalhost:8000/app/
、パーシャルのほとんどのアドレスは次のようlocalhost:8000/app/#/login
になります。しかし、JSON フォーム my fake を取得するにはどこに行かなければなりません$httpBackend
か?
localhost:8000/json/items
「使用できません」と表示されるlocalhost:8000/app/#/json/items
か、パーシャルがロードされていない index.html に送信されるかを試しlocalhost:8000/app/json/items
ました。考えられるすべての組み合わせを試しました。
json - 単体テスト AngularJS コントローラー、スペック ファイル内の Json へのアクセス
コントローラー仕様で json オブジェクトにアクセスするにはどうすればよいですか? jasmine getJson Fixtures と httpbackend を使用してネットの多くのオプションを試しましたが、何も機能していないようです。
javascript - モジュール「ngMockE2E」は利用できません! AngularJS
ブラウザで次のエラーが発生します。
私の app.js は次のようになります。
何か不足していますか?
angular-resource - テスト環境で $resource の約束を解決するにはどうすればよいですか
クライアント上のデータと対話し、サーバーを呼び出さないいくつかの非同期メソッドを実行する必要があるコントローラーがあります。ブラウザーで正常に動作するメソッドが 1 つありますが、メソッドをテストで駆動したいのですが、テスト環境 (カルマとモカ) で動作させることができません。その理由は、Promise が解決されないため、$resource.query() が返す空の配列がテスト環境に入力されないためです。これがテスト スイートの beforeEach です。
scheduleCtrl には、そのコンストラクターで Resource.query() の結果に割り当てられるプロパティ schedule があります。返された 3 つのオブジェクトが MockHttpExpectation に読み込まれていることがわかります。
しかし、テストを実行すると、sc.schedule はまだ空の配列であるため、テストは失敗します。テストで Resource.query() を解決するにはどうすればよいですか?
javascript - AngularJS - $httpBackend は成功 = false で 200 を返します
e2e テストの実行中に server-api をモックしようとすると、非常に奇妙な動作に遭遇しました。
これが私のコードです:
この部分は正常に動作しますが、次のように success = false にすると:
応答コードが 500 になり、これは望ましくありません。
興味深いことに、キー「success」を別のもの (「sukcess」など) に変更すると、応答コードは 200 のままで、すべてが期待どおりに機能します。
$httpBackend は json 応答を見て、応答データでキー「成功」が false であることがわかった場合、応答コードを変更しますか? もしそうなら、これは非常に奇妙な振る舞いです。誰もこのようなことに遭遇したことがありますか?もしそうなら、すべてのjson応答で「成功」という単語を変更する以外に、この動作を回避するためにできることはありますか?