2016-08-15 58 views
1

我正在使用Karma和Jasmine在我的应用程序中的角度模块上运行单元测试。我遇到了使用httpBackend.flush()的问题;在标题中抛出错误。我已经研究了它,并且我只能找到不同的角度/模拟版本的问题。

我的版本如下:

  • 角 - 1.3.16
  • 角嘲弄 -^1.3.15
  • PhantomJS -^1.9.17

难道真的那么具体说明版本号是确切的?

这里是我的测试:

it('it returns address search results properly.', function() { 

    $httpBackend.when('GET', strTestAddressApiURL).respond(httpResponse_AddressResults); 

    $scope.firstname = 'Jon'; 
    $scope.lastname = 'Watson'; 
    $scope.street = '102 2nd Ave'; 
    $scope.postalcode = '81144'; 
    $scope.findBy = 'address'; 

    $scope.submit(true); 
    $httpBackend.flush(); 

    expect($scope.data[0].accountnumber).toBe('2422101405'); 
    expect($scope.data[0].firstname).toBe('Jon'); 
    expect($scope.data[0].lastname).toBe('Watson'); 
    expect($scope.data[0].email).toBe('[email protected]'); 
    expect($scope.data[0].address).toBe('102 2nd Ave'); 
    expect($scope.data[0].postalcode).toBe('81144'); 

    expect($scope.data[1].accountnumber).toBe('2422113499'); 
    expect($scope.data[1].firstname).toBe('Joan'); 
    expect($scope.data[1].lastname).toBe('Watson'); 
    expect($scope.data[1].email).toBe('[email protected]'); 
    expect($scope.data[1].address).toBe('102 2nd Ave'); 
    expect($scope.data[1].postalcode).toBe('81144'); 

}); 

这里是从控制器

$scope.submit = function(isValid) { 
      $scope.submitted = true; 
      if(!isValid) { 
       return; 
      } else { 
       if($scope.findBy == 'email') { 
        var validEmail = RegExp('[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}'); 
        if(!validEmail.test($scope.email)) { 
         $scope.findaccount.email.$invalid = true; 
         return false; 
        } 
       } 
      } 
+0

显示'$ scope.submit'。 –

+0

@HamletHakobyan更新:-) – breadstickguy

+0

那么,实际的'$ http'调用在哪里? –

回答

1

找到了答案$ scope.submit - 这是逸岸的版本号是关连半点。

相关问题