2017-05-11 3 views
1
var refresh = function(){ 
    console.info("refreshing page") 
    window.location.reload(); 
} 

soll ich die obige Funktion "window.location.reload()"Wie für eine Funktion in AngularJS spyOn

ich den Code gegeben haben spyOn als

describe('for page refresh',function(){ 
    spyOn(window.location,'reload');  
it('should refresh the welcome page',function(){ 
     expect($location.reload),toHaveBeenCalled(); 

das ist Erhöhung des Fehlers Fehler:: Neuladen ist nicht beschreibbar deklariert oder hat keinen Setter.

Ich bin ein Neuling in angularJS. Jede Hilfe wäre sehr nützlich.

Antwort

0

Ich bin auch neu in Jasmin. Schau es dir an, es kann dir helfen.

describe('for page refresh', function() { 
 

 
    beforeEach(function() { 
 

 
    refresh = { 
 
     reload: function(value) { 
 
     window.location.reload(); 
 
     } 
 
    }; 
 
    spyOn(refresh, 'reload'); 
 

 
    }); 
 

 
    it('should refresh the welcome page', function() { 
 
    refresh.reload(); 
 
    expect(refresh.reload).toHaveBeenCalled(); 
 
    }); 
 
})

0

Wenn ich einen Userservice mit einer Methode namens Anmeldung und ich haben möchte, auf diese Methode auszuspionieren dann würde ich tun:

spyOn(UserService, 'login');

Wenn ich also nachsehen wollte, war es dann angerufen:

expect(UserService.login).toHaveBeenCalled();

ich denke, das Ihnen einen Hinweis geben sollte, was man falsch machen.

Glückliche Codierung!

Verwandte Themen