Ich habe den folgenden Service bekommt:
angular.module("services")
.factory("whatever", function($window) {
return {
redirect: function() {
$window.location.replace("http://www.whatever.com");
}
};
});
Wie $window
Objekt in Unit-Test verspotten Neuladen der Seite zu verhindern, wenn Tests ausgeführt werden?
I
spyOn($window.location, 'replace').andReturn(true);
mit
versucht, aber es hat nicht funktioniert (immer noch"Some of your tests did a full page reload!"
Fehler) und
$provide.value('$window', {location: {replace: jasmine.createSpy()}})
, aber ich war immer einen Fehler (Error: [ng:areq] Argument 'fn' is not a function, got Object
) mit Stack-Trace zeigt nur auf eckige eigene Quelle, so war es nicht sehr hilfreich ...
Ich habe das gleiche Problem konfrontiert. Hast du eine Lösung gefunden? – Tushar
Die Lösung, die von PaulL bereitgestellt wird, um '$ window.location' in einen separaten Dienst zu verpacken, funktioniert gut. Habe LostInComers Lösung noch nicht ausprobiert. – szimek