带Karma的AngularJS-我如何为控制器编写单元测试
与以下代码相同: 我不知道如何为控制器编写单元测试带Karma的AngularJS-我如何为控制器编写单元测试,angularjs,unit-testing,controller,karma-jasmine,Angularjs,Unit Testing,Controller,Karma Jasmine,与以下代码相同: 我不知道如何为控制器编写单元测试 如何在出厂时为控制器编写一个测试,在没有出厂时如何编写?以下是AngularJS中控制器单元测试的示例: angular.module('myModule', []) .controller('myController', function($scope) { $scope.num = 2; $scope.doSomething = function() { $scope.num += 2; } })
如何在出厂时为控制器编写一个测试,在没有出厂时如何编写?以下是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);
});
});
我不完全清楚你所说的“你将如何在工厂编写单元测试,而在没有工厂的情况下如何编写单元测试?”。请在评论中解释更多,我会更新这个答案。祝你好运