アプリケーションに保存された資格情報を使用してユーザーをログインさせ、401 で要求を再試行する必要があります。最初の呼び出しで 401 を返す必要があるため、テストに苦労していますが、ログイン要求の後に 200 を返します。再び起こります。
これまでの私のテストは次のとおりです。
it("should call login if the status is 401", function() {
$httpBackend.whenGET(api.baseUrl + "/auth/login").respond(200);
$httpBackend.whenGET(api.baseUrl + "/practice/active").respond(401);
api.practiceActiveInquery(function(result) {
expect(login.fn).toHaveBeenCalled();
});
$httpBackend.flush();
});
問題は、/practice/active の whenGET が 401 で一度呼び出された後に 200 で応答する必要があることです。そうしないと、輪になってしまいます。または、http インターセプターを完全に間違ってテストする方法を考えていますか?