3

バックエンド API からのリダイレクト ページをチェックするテストを作成しようとしています。ログイン ビューへの 401 リダイレクトが予想されますが、テストでは、既にログインしている場合にリダイレクトする必要があるページが表示されます。

ログインしたビューは、API への呼び出しの前に $location.path に既に配置されており、テストが終了した後に応答が戻ってくると想定することしかできません。これをテストする方法はありますか、それとも正しい軌道に乗っていますか。

私のテストコードは次のとおりです。

window.jQueryFunction('.loginButton', 'click');
expect(browser().location().url()).toBe('/Login');

私のapp.jsファイルで、角度イベントブロードキャストを使用して401をテストします

$rootScope.$on('event: auth-loginRequired', function() {
    window.location = '/login'
});

私が正しいボールパークにいるのか、それともここでマークから外れているのか、誰か教えてもらえますか.

4

1 に答える 1

0

401 は http エラーであり、リダイレクトではありません。ほとんどのサーバーは 302 (完全に移動) を送信しますが、開発者が 301 (一時的に移動) を送信するように変更することがあります。さらに、window.location ではなく、location.path() の値もテストする必要があります。

于 2013-10-04T15:30:56.473 に答える