我对角度非常新,并且一直想要试驾,我遇到了嘲笑$ window的障碍。我尝试测试的项目非常简单但很重要 - 我需要知道localStorage是否存在,并且需要能够伪造$ window这样做。
到目前为止,代码非常基础,我所拥有的是服务...
'use strict';
mainApp.factory('somedataStorage',function($window) {
var local = $window.localStorage;
return {
hasLocal: function() {
return local != undefined;
},
};
});
我是如何测试它的......
(function () {
var fakeWin = {
localStorage: null
};
var $injector = angular.injector(['ngMock', 'ng', 'mainApp']);
//var $window = $injector.get('$window');
var init = {
setup: function () {
//this.$window = fakeWin;
},
}
module('LocalStorageTests', init);
test("if localstorage isn't there, say so", function () {
var $service = $injector.get('somedataStorage' /*, {$window: fakeWin} */);
ok(!$service.hasLocal, "no local storage");
});
})();
那么我错过了什么?