問題タブ [ngmocke2e]
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 - 分度器でバックエンドをモックする
このトピックについて同様の議論がたくさんありましたが、残念ながら私のシナリオに合うものはありませんでした。現在、実際の API には存在しない新しい機能をテストするために、Protractor からのバックエンド応答をモックしようとしています。それを達成するためにさまざまな方法を試しましたが、うまくいきませんでした。分度器テストを実行するたびに、リクエストをインターセプトする代わりに、実際の API に対して http リクエストが実行されます。
これが私のシナリオです: 私は AngularJS アプリケーションを持っていて、次のような 1 つのビューに検索入力ボックスがあります:
次に、そのためのコントローラーがあります。
そして、comService.indexContacts
http 要求を実行する :
すべてのロジックを説明するつもりはありませんが、ユーザーが入力フィールドに何かを入力すると、indexContacts
関数が API への GET 要求をトリガーし、ユーザーは画面にレンダリングされた連絡先のリストを見ることができるとだけ言っておきましょう。
今、分度器テストでその $http(req) をインターセプトし、モック JSON を返したいと思っていますが、その方法がわかりません。
わかりました、ここで行っているのは、検索フィールドにテキストを挿入することです:element(by.id('inputSearch')).clear().sendKeys('gai');
これは機能しますが、前の comService によってトリガーされた http 要求をインターセプトし、代わりにモック JSON をアプリケーションに返して、そのための実際の API を使用する代わりに、ユーザーのカスタム リスト。
どうやってやるの????
angularjs - ngMockE2E を使用した httpBackend 分度器のモックが機能しない
ここで説明されている基本的なガイドラインに従うhttps://www.npmjs.com/package/ng-mock-e2e
それでも、通常の REST 呼び出しが呼び出されています。
これはそれほど難しいことではありません。誰かが私が見落としていることを指摘できますか? httpBackend をモックするために、他のいくつかのサードパーティ ベンダーを試しましたが、うまくいきませんでした。たぶん、実際のアプリでの最初の $http 呼び出しは、モックされたものを無効にしていますか?
- 編集 -
Angular doc によると、ngMockE2e 依存関係をメイン アプリに追加すると、angular.module('qApp', ['...', '...', '...', 'ngMockE2E']);
あらゆる種類の奇妙なエラーが発生します。
エラー: 予期しない要求: GET http://qubus7.test.kmsgroep.com/api/localizations/en2 $httpBackend (angular-mocks.js:1263) で期待されるこれ以上の要求はありません
そして、Protractor を実行しているときに、UI 要素への参照が突然表示されるようになりました。
angularjs - AngularJS: 特定の $http 呼び出しのモック
私は多数の$http
呼び出しを行う AngularJS アプリケーションに取り組んでいます。これらのほとんどは正常に機能しています。バックエンドが存在し、適切なデータを返します。私が現在取り組んでいることは、不完全なバックエンドに対して呼び出しを行います。
すでに機能しているものをいじったり、知ったりせずに、特定の呼び出しをモックするにはどうすればよいですか?
私は調べてきましたがngMockE2E
、それはバックエンド全体をノックアウトします。通過するように設定した後、作業中の呼び出しだけをオーバーライドする方法がわかりません。
これについてもっと簡単な方法はありますか?
angularjs - 予期しないリクエストを返すAngularでのUIルーティング:GET
以下は、角度プロジェクトの ui ルーティング設定です。作業指示書リスト ページを表示できません。以下のセットアップの何が問題なのかわかりません。作業指示書を表示するために作業指示書リスト ページを表示する方法を教えてください。
ブラウザで呼び出される URL http://localhost:63342/vdash/index.html#/workorders
app.js
workOrderResourceMock.js
エラー
angular.js:13236 エラー: 予期しない要求: GET
app/workorder/workOrderListView.html $httpBackend でこれ以上の要求は期待されません (angular-mocks.js:1403)
angularjs - angularjsモックで正規表現を使用してURLを取得するにはどうすればよいですか?
私はそのようなことをする必要があります
今まで使っていたリクエストは全部このパターンでした
ただし、/regex/ で始まる正規表現を使用する必要があると思いますが、URL を取得する方法がわかりません
事前に感謝します。
protractor - 分度器 http-backend-proxy 401 Unauthorized エラー
分度器を使用し、http-backend-proxy を使用してバックエンド呼び出しをモックしています。ログインすると、私が嘲笑した電話がかかってきます。次に、ローカル ストレージのトークンをクリアします。
次に、 browser.refresh() を実行します。これは、次のテストを実行できるようにログイン画面にリダイレクトするためです。
私の問題:更新が実行されると、ログイン画面に戻る代わりに、そのページの呼び出しを再度試行し、予期しない GET 要求であると言って失敗します。これは、現在 401 Unauthorized 応答を返しているためです (トークンをクリアしたため)。
401 Unauthorized 応答の場合に通話を傍受したり、そのインスタンスでログインにリダイレクトさせたりするにはどうすればよいですか?
ありがとう!
angularjs - angularjs - e2eモックバックエンド
いくつかの e2e テストを作成できるように、バックエンドをモックしようとしています。
オンラインで検索しましたが、何が間違っているのかわかりません。コードの最初の行で次のエラーが発生します。
角度は定義されていません。
私の分度器設定ファイルは次のとおりです。
私のe2eテストの始まりは次のとおりです。
私は何を間違っていますか?助けてくれてありがとう
編集
beforeEach モジュールを実行しようとする前にも追加しましbrowser.waitForAngular()
たが、まだ何もありません。以前と同じエラーです