AngularJS with Karma - 我将如何为控制器编写单元测试



与以下代码相同: AngualrJS with Karma - 如何为工厂编写单元测试?

我不确定如何为控制器编写单元测试。

你如何在工厂为控制器写一个,如果没有它,你会怎么写?

下面是 AngularJS 中的控制器单元测试示例:

angular.module('myModule', [])
  .controller('myController', function($scope) {
    $scope.num = 2;
    $scope.doSomething = function() {
      $scope.num += 2;
    }
  });

测试:

describe('myController', function() {
  var $scope;
  beforeEach(function() {
    module('myModule');
    inject(function($controller, $rootScope) {
      $scope = $rootScope.$new();
      $controller('myController', {
        '$scope': $scope
      })
    });
  });
  it('should increment `num` by 2', function() {
    expect($scope.num).toEqual(2);
    $scope.doSomething();
    expect($scope.num).toEqual(4);
  });
});

我不完全确定你所说的"你将如何与工厂一起编写单元测试,如果没有它,你将如何编写它?请在评论中解释更多,我会更新这个答案。祝你好运!

最新更新