2017-07-11 11 views
0

私は私のテストにカルマ/ジャスミンでangularjsを使用しています。AngularJS unit testing条件応答

successCallbackを3つの条件付きifレスポンスでユニットテストするにはどうすればよいですか?私は私のangularjsプロジェクトでこの機能を持っています:

私は以下のテストコードを試してみて、成功しなかったブロックをヒットしようとしました。

it('expects POST on /login success and reroutes to home page', function() { 
     var response = {data:{successful:true}} 
     var url = '/login', 
      data = { 
       'username': 'test.person', 
       'password': 'test' 
      }, 
      header = {'Content-Type': 'application/json'}, 
      successCallback = jasmine.createSpy('success'), 
      errorCallback = jasmine.createSpy('error'); 

     $httpBackend.expectPOST(url, data, header 
     ).respond(200, response.data.successful) 
     scope.submit(); 

     expect(successCallback).not.toHaveBeenCalled(); 
     $httpBackend.flush; 
     expect(fakeWindow.location.href).toBe('/'); 
    }); 

答えて

0

私はこれを理解することができました。私はhttpポストコールを行い、レスポンスをこのコントローラに返すファクトリを作成することになった。

ユニットテストのために、私は各条件応答のテストを作成できました。私はちょうどサービスを嘲笑し、それが戻って別の応答を送っていた。