Ich erhalte diesen allgemeinen Fehler Fehler: [$injector:unpr] Unknown provider: $scopeProvider <- $scope
mit meinem Testfall. Ich weiß, dass dies eine gewöhnliche ist, und es gibt nur wenige andere Threads, die mit Lösungen erklären. Aber ich konnte wirklich keine Antwort auf mein Problem finden. Kann mir jemand in die richtige Richtung zeigen?
ViewMeetingCtrl,
(function() {
'use strict';
angular.module('MyApp').controller('ViewMeetingCtrl', ViewMeetingCtrl);
ViewMeetingCtrl.$inject = ['$scope', '$state', '$http', '$translate', 'notificationService', 'meetingService', '$modal', 'meeting', 'attachmentService'];
function ViewMeetingCtrl($scope, $state, $http, $translate, notificationService, meetingService, $modal, meeting, attachmentService) {
$scope.meeting = meeting;
$scope.test = "testvalue";
if (meeting.Status == 'Cancelled')
{
$scope.actionButtons = false;
}
else
{
$scope.actionButtons = true;
}
//more code
}
})();
MeetingCtrlSpec.js
describe('ViewMeetingCtrl', function() {
var $rootScope, scope, $controller, meetingService;
beforeEach(angular.mock.module('MyApp'));
beforeEach(inject(function ($rootScope, $controller, meetingService) {
scope = $rootScope.$new();
$controller('ViewMeetingCtrl', {
meetingService: meetingService,
'$rootScope' : $rootScope,
scope: scope
});
}));
it('should change greeting value if name value is changed', function() {
//some assertion
});
});
Fehler-Trace:
Firefox 37.0.0 (Windows 8.1) ViewMeetingCtrl should change greeting value if name value is changed FAILED
Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- ViewMeetingCtrl
http://errors.angularjs.org/1.3.15/$injector/unpr?p0=%24scopeProvider%20%3C-%20%24scope%20%3C-%20ViewMeetingCtrl
minErr/<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:63:12
createInjector/providerCache.$injector<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/ang
ular/angular.js:4015:19
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4162:39
createInjector/instanceCache.$injector<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/ang
ular/angular.js:4020:28
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4162:39
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4194:1
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4211:27
$ControllerProvider/this.$get</<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/an
gular.js:8501:18
angular.mock.$ControllerDecorator</<@C:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mo
cks/angular-mocks.js:1878:12
@C:/Users/dell pc/Documents/Work/MyApp/FLIS.Client.Tests/test/company/MeetingCtrlSpec.js:8:1
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/bower_components/angular/angular.js:4203:14
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mocks/angular-mocks.js:2436:11
[email protected]:/Users/dell%20pc/Documents/Work/MyApp/WebApiRole/node_modules/angular-mocks/angular-mocks
.js:2407:25
@C:/Users/dell pc/Documents/Work/MyApp/Client.Tests/test/company/MeetingCtrlSpec.js:6:16
@C:/Users/dell pc/Documents/Work/MyApp/Client.Tests/test/company/MeetingCtrlSpec.js:1:1
Firefox 37.0.0 (Windows 8.1): Executed 3 of 3 (1 FAILED) (0.094 secs/0.091 secs)
Typo zu setzen! Es sollte '$ scope: scope' sein, du hast einen Dollar verpasst und du musst '$ rootScope' nicht injizieren, da du nicht abhängig bist, aber das ist nicht das Problem. – PSL
@PSL, viel verpflichtet für Ihre Antwort. das hat mein Problem gelöst, aber letztendlich zu einem anderen geführt. Es heißt 'Fehler: [$ injector: unpr] Unbekannter Provider: meetingProvider <- meeting <- ViewMeetingCtrl'. Kannst du etwas für diesen Fehler geben? Weil ich in meiner Lösung nirgends etwas namens MeetingProvider habe. – Malik