Ответ 1
У вас было несколько бонусов. В частности, тот, который содержится в инструкции для инъекций. Вы не можете вводить предложение, оно доступно только для модулей. Попробуйте мои изменения ниже.
"use strict";
// SEE no provide here
describe('Controller: ProfileCtrl', function () {
//load the controller module
var mockProfileFactory;
beforeEach(function() {
module('profileUpdate', function($provide) {
mockProfileFactory = {
get: function() {
id: 16
}
};
$provide.value('Profile', mockProfileFactory);
});
var ProfileCtrl;
var scope;
// SEE and neither in the inject here
inject(function ($controller, $rootScope) {
scope = $rootScope.$new();
ProfileCtrl = $controller('ProfileCtrl', {
$scope: scope
});
});
});
it('should have 3 items', function() {
var things = scope.range(1,3,1);
expect(things).toBe(3);
});
});
Прочитайте о концепции angularjs поставщиков, а также проверьте свой код в отношении этого руководства: