与以下代码相同: 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);
});
});
我不完全确定你所说的"你将如何与工厂一起编写单元测试,如果没有它,你将如何编写它?请在评论中解释更多,我会更新这个答案。祝你好运!