2016-06-07 5 views
3

Ich versuche, einen Schein-Unit-Test mit Jasmin mithilfe von createSpy() einzurichten. Ich habe immerErstellen von Mock-Objekten mit Jasmine mit createSpy()

TypeError: undefined is not a function (evaluating jasmine.createSpy().andCallFake(function(msg) { return [] })) (line 13).

Code:

$scope.workInit = function() { 
    $scope.work_loading = true; 
    $scope.public_work_loading = true; 

    var projects = SomeService.getGroups(); 
    var publicProjects = SomeService.getPublicGroupings('G'); 
    … 
    ... 
    } 

TEST:

this.SomeService = { 
    getGroups: jasmine.createSpy().andCallFake(function(msg) { return [] }), 
    getPublicGroupings: jasmine.createSpy().andCallFake(function(msg) { return [] }), 
} 

    it('should expect work_loading and public_loading to be false', function() { 
    this.scope.workInit(); 
    expect($scope.work_loading).toEqual(false); 
    expect($scope.public_work_loading).toEqual(false); 
    }); 
+1

'this.scope.workInit();' oder '** this.scope.workgInit();' ** ? –

+0

sein this.scope.workInit(); Entschuldigung, es war ein Tippfehler. Ich werde das aktualisieren, danke – Jason

Antwort

0

Die Art und Weise Sie die Mock-Einheit Testfall eingerichtet haben korrekt ist, die gleichen Arbeiten für mich in this fiddle.

den Umfang prüfen, in dem Sie diesen Teil des Codes enthalten haben:

this.SomeService = { 
    getGroups: jasmine.createSpy().andCallFake(function(msg) { return [] }), 
    getPublicGroupings: jasmine.createSpy().andCallFake(function(msg) { return [] }),