Tôi đang cố gắng kiểm tra mã bộ điều khiển đơn vị bên trong một mô-đun có các mô-đun khác làm phụ thuộc, nhưng không thể tìm ra cách mô phỏng chúng đúng cách.Các phụ thuộc mô-đun nhại trong các thử nghiệm đơn vị Jasmine
Tôi đang sử dụng Khung công tác Jasmine và chạy thử nghiệm của mình với Karma (Testacular).
Mô-đun Mã
var app = angular.module('events', ['af.widgets', 'angular-table']);
app.controller('eventsCtrl', function([dependencies]){
$scope.events = [];
...
});
Spec Mã
describe('events module', function(){
var $scope,
ctrl;
beforeEach(function(){
angular.mock.module('af.widgets', []);
angular.mock.module('angular-table', []);
module('events', ['af.widgets', 'angular-table']);
});
beforeEach(inject(function($rootScope, $controller){
$scope = $rootScope.new();
ctrl = $controller('NameCtrl', {
$scope: $scope,
});
}));
it('should have an empty events array', function(){
expect($scope.events).toBe([]);
})
});
Các lỗi tôi nhận được là Karma là "không af.widgets mô-đun", do đó rõ ràng là tôi không chế giễu các phụ thuộc mô-đun đúng. Bất kỳ gợi ý nào?
$ phạm vi = $ rootScope.new(); nên là $ scope = $ rootScope. $ new(); (có thể cho phiên bản của chúng tôi) –