0

ではありません。ジャスミンはTypeError:未定義のは、私は、コントローラ内部でこの機能を持っているコンストラクタ

$scope.delt = function() { 
       $scope.data = {}; 
       $scope.confirmPopup = $ionicPopup.confirm({ 
        title: '<b>Delete user</b>', 
        template: "Are you sure you want to delete this user ?<br>can't be undo." 
       }).then(function(res) { 
        if (res) { 
         API.editeTheUser.delete({ id: $scope.user.id }, function(res, header) { 
          $scope.addEvent('delete-user', 'Delete the user with phone_number :' + $scope.user.phone); 
          $rootScope.popup('delete', "delete was success"); 
          $ionicHistory.goBack(); 
         }, function(err) { 
          $rootScope.popup("Error", err.data.error); 
         }); 
        } else { 
         console.log('You are not sure'); 
        } 
       }); 
      } 

と私はちょうど私のユニットテストでは、この関数を呼び出す:

describe('manageUserCtrl', function() { 

      var controller, window, scope, 
       $rootScope, 
       $q, store, API, $ionicPopup, deferredLogup; 

    beforeEach(inject(function($controller, _$ionicPopup_, _$rootScope_, $q, _API_, _$window_) { 
       $q = $q;; 
       $ionicPopup = _$ionicPopup_; 
       deferredLogup = $q.defer(); 
       $rootScope = _$rootScope_; 
       spyOn($ionicPopup, 'confirm'); 
       scope = $rootScope.$new(); 
       API = _API_; 
       window = _$window_; 
    controller = $controller('manageUserCtrl', { 
        '$scope': scope, 
        'API': API, 
        '$window': window, 
        '$ionicPopup': $ionicPopup 

       }); 

      })); 
    it('expect delete', function() { 
      scope.delt(); 
    }); 
}); 

、私はエラーを得ました

"例外TypeError:未定義のコンストラクタ( 近くない '...})を(関数(RES))({...')"

。 ここで何がエラーですか、私はユニットテストで新しいですか? p.s.コードはうまくいきます。

+0

@jloganお願いします。お手伝いできますか? –

答えて

0

describe関数の最後にTypoがあります。親レベルを閉じることはありません(関数の記述) - 説明のためだけにコメントを追加しました。

describe('manageUserCtrl', function() { 
    var controller, window, scope, 
     $rootScope,$q, store, API, $ionicPopup, deferredLogup; 
    beforeEach(inject(function($controller, _$ionicPopup_, _$rootScope_, $q, _API_, _$window_) { 
      $q = $q;; 
      $ionicPopup = _$ionicPopup_; 
      deferredLogup = $q.defer(); 
      $rootScope = _$rootScope_; 
      spyOn($ionicPopup, 'confirm'); 
      scope = $rootScope.$new(); 
      API = _API_; 
      window = _$window_; 
      controller = $controller('manageUserCtrl', { 
       '$scope': scope, 
       'API': API, 
       '$window': window, 
       '$ionicPopup': $ionicPopup 
      }); // closes the controller 
     })); //closes the beforeEachfuntion 

    it('expect delete', function() { 
      scope.delt(); 
    }); //closes the expect rule 
}); //closes the parent describe function 
+0

ありがとうございますが、コード内で何が間違っていますか? –

+0

@Ebrahim Ze - 最後の閉じ括弧がありませんでした。これは上記のスニペットの最後の行です。 //親記述関数を閉じます – gavgrif

+0

これらは私のスニペットで欠落していましたが、エラーはテストではなくコントローラコードに表示されます。 –

関連する問題