Angular Unit Test Unbekannter Provider: $ scopeProvider

7

Hallo Ich schreibe meinen ersten Winkeltest mit Jasmin, aber ich bekomme immer den Fehler

------ Test gestartet: Datei: C: \ Benutzer \ Regan \ Dokumente \ Visual Studio 2013 \ WebSites \ Regan \ TestApp \ TestProject \ ng-Tests \ MainCtrlSpec.js ------ Test 'MainCtrl mit Inline-Mock: sollte labeln' fehlgeschlagen     Fehler: [$ injector: unpr] Unbekannter Provider: $ scopeProvider & lt; - $ scope & lt; - MainCtrl

Ich habe versucht, damit herumzuspielen, bin aber festgefahren. Wenn Sie das Problem sehen, lassen Sie es mich wissen. Wenn Sie mehr Code benötigen, lassen Sie es mich bitte wissen, aber ich denke, dass das Problem in diesen beiden Dateien liegt.

MainCtrlSvc.js

%Vor%

MainCtrl.js

%Vor%     
ReganPerkins 07.01.2015, 01:41
quelle

2 Antworten

15

Da es keinen $scope Dienst gibt, kann $controller provider das injizierte Argument $scope nicht instanziieren.

Sie müssen den Bereich bereitstellen, während Sie einen Controller mit dem $controller -Provider instanziieren. Du kannst $rootScope in dein setUp einfügen und du kannst einen untergeordneten Bereich bekommen, indem du $rootScope.$new() machst. Inject es als ein Argument zu dem $controller contstructor. d. h. $controller("MainCtrl", {$scope:scope }) wobei scope der neue untergeordnete scope ist, auch wenn Sie $ rootScope übergeben können.

d. h.

%Vor%     
PSL 07.01.2015, 01:46
quelle
3

Sie haben den Bereich nirgends definiert, um ihn an den Controller zu übergeben

%Vor%     
Yang Li 07.01.2015 01:46
quelle

Tags und Links